最佳实践之SpringBoot多模块项目中加载其他模块的配置
原创2021/8/26大约 1 分钟
最佳实践之SpringBoot多模块项目中加载其他模块的配置
1、背景
现有A和B(甚至还有C...)两个模块,他们都属于同一个maven项目下的子模块,A模块为可运行的SpringBoot项目,B模块是一个单纯的二方库,里面有一些bean,也有一些配置文件;
目前想实现在A模块里可以加载到B模块中的配置文件。
2、实现方式一
利用 Spring 的 include,亲测可用,简单高效
(1)把B模块的src/main/resource下的配置文件重命名如application-b.yml,必须为此格式application-xxx
(2)在A模块的application.yml文件中加入如下配置:
spring:
profiles:
## 据说使用 active 也能搞定,未实践,不知两者什么区别
include: b(3)大功告成,这样就完了,并且经过实践打成jar包也能读取到B模块中的配置(虽然打包后并没有直接把application-b.yml文件复制到A工程的资源目录下,猜测可能读取的是里面jar包的配置吧)
3、实现方式二
可以利用 maven 的打包插件 maven-resources-plugin 的 copy-resources 功能,在打包时把B模块的配置文件复制到A模块的资源目录下,该方法未实践。

