【开发错误记录】关于SpringBootApplication扫描不到其他模块下的bean问题(已解决)

关于SpringBootApplication扫描不到其他模块下的bean问题(已解决)

在现在的很多项目中,大多是用maven做多模块,分包管理,但是有时候遇到其他模块是没有启动类的,但是有的bean是需要注入的,此时需借助其他模块的启动类来注入bean。

解决问题之前的代码结构
【开发错误记录】关于SpringBootApplication扫描不到其他模块下的bean问题(已解决)_第1张图片

【开发错误记录】关于SpringBootApplication扫描不到其他模块下的bean问题(已解决)_第2张图片
在上述图片中,common模块中的RedisCommonUtil使用到了@Component注解,就表示需要加入到spring bean容器中。

注意:请仔细看启动类的存放位置,在springsecurity-demo模块中的com.xgg.springsecurity包下,而RedisCommonUtil是在common模块中的com.xgg.common包下

点开RedisCommonUtil发现并没有spring bean的小图标,就表示并未注入到spring bean容器中,启动也是必然会报错的。

解决方案

只需要把启动类的位置移到com.xgg包下,启动类会去扫描所有以com.xgg开头的包下的所有bean。
【开发错误记录】关于SpringBootApplication扫描不到其他模块下的bean问题(已解决)_第3张图片
再来看看RedisCommonUtil
【开发错误记录】关于SpringBootApplication扫描不到其他模块下的bean问题(已解决)_第4张图片
已经成功被扫描到并且注入到了spring容器中,也有了spring bean的小图标了,证明被扫描到了,启动也没问题了。

你可能感兴趣的:(开发错误记录,spring,spring,boot,bean)