把@Autowired 改成以下
@Autowired(required = false)
表示忽略当前要注入的bean,如果有直接注入,没有跳过,不会报错。
在容器的启动过程中,会初始化很多bean,这也是spring的核心之一(IOC)。但是在注入的过程中,扫描到公共方法中要注入的bean,并未找到,强行注入就会注入失败。我们又不能单独的去除改方法,所以我们采取的思想就是有bean就注入,没有就不注入。
参考:https://blog.csdn.net/weixin_44012027/article/details/106570771