spring boot关于多个模块(module)的配置问题
用了一天多时间,自己搭环境验证后,结合书上说的,最终得出结论如下:
1、@SpringBootApplication修饰的主应用类在哪个包下,系统会自动从这一级往下扫描并注册到spring。
比如如果当前主应用类在com.example下面,则com.example 和com.example.dao里的相关类都可以被扫描到。
但是com.example2里的就不会了。
解决办法是将主应用类移动到com包下,或者增加包扫描路径如:@ComponentScan({“com”}) 或者@ComponentScan({“com.example”,”com.example2″})
@ComponentScan({"com.example"}) public class WebApplication { public static void main(String[] args) { SpringApplication.run(WebApplication.class,args); } }
2、除非确实模块a的类用到模块b的类,需要加依赖,否则无需增加。
3、主应用类所在的模块会自动将其它模块加入进来,编译用,形成隐形的依赖,可从module设置中看到。
所以,如果一个项目中包含多个mudule,应将主应用类放到主项目中,然后在模块依赖中加入其它模块即可。
配置模块间的依赖关系 如在启动类的pom.xml,可以外调 beta-biz、biz-site两个模块
打包
直接在root里打包,在主模块会生成jar包