springboot多模块项目无法加载configuration配置类
用父项目+多模块+多模块的结构配置了一个springboot项目
配置类在中间多模块层
springboot+gson+redis+shiro+jsp+druid
配置完了后在最底层中创建web项目 将Application放在项目里启动
因为当时在按顺序配置shiro并测试,发现shiro并没有拦截路径
发现是shiro的configuration没有起作用
开始整,搞了半天发现不仅是shiro 其他的配置文件在启动的时候全都没有加载进去
百度了很久没有找到具体产生原因 但有一篇文章给了我灵感
他是在SpringbootApplication注解里加入exclude参数排除预加载类,那么反过来能不能行呢
查找springbootApplication源码内置四个参数,其中一个ScanBasePackages基本符合要求
将注解改为@SpringbootApplication(ScanBasePackages="com.xxx.xxx")解决问题!
因为包名都是com.xxx.xxx.admin/com.xxx.xxx.client规则 所以这个可以预加载我的所有包
在百度的时候看到有人说Application启动时只会扫描同级包和本包及下级,估计是这个原因造成了无法加载其他包里的配置,如果按照这个说法,那么把application所在的包命名为com.xxx.xxx应该也是可行的,这个就留给你们验证啦~
网友评论