2018-01-11 记录一个springboot+多模块的坑

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应该也是可行的,这个就留给你们验证啦~

你可能感兴趣的:(2018-01-11 记录一个springboot+多模块的坑)