spring boot关于多个模块(module)的配置问题

作者: adm 分类: java 发布时间: 2022-07-04

用了一天多时间,自己搭环境验证后,结合书上说的,最终得出结论如下:

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两个模块



com.example
beta-biz
0.0.1-SNAPSHOT


com.example
biz-site
0.0.1-SNAPSHOT

打包
直接在root里打包,在主模块会生成jar包

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!