springboot多模块中的共用配置文件会遇到什么问题

发布时间:2021-12-01 11:08:44 作者:小新
来源:亿速云 阅读:249

这篇文章给大家分享的是有关springboot多模块中的共用配置文件会遇到什么问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

springboot多模块的共用配置文件

项目中遇到这样的问题

公共模块comm有些参数是配置文件里配置的,其他的应用依赖comm包,这样一来每个应用都需要配置一个与comm相同的参数才行,否则启动时,报错。找不到配置参数,无法解析的异常:

springboot多模块中的共用配置文件会遇到什么问题

有没有办法实现这样的需求

公共模块comm,配置了参数,应用A 依赖comm,如果A里配置了相同的参数,则会覆盖comm里设置的 参数,如果A里没设置,那就采用comm里的参数配置?

经过半个小时的测试,答案是肯定的:

1、架构草图如图所示:

springboot多模块中的共用配置文件会遇到什么问题

2、application.yml:

springboot多模块中的共用配置文件会遇到什么问题

3、经测试,dev也就是说上层的配置文件要放在后面

他会覆盖前面的相同参数,如果后面的配置文件里没有配置,就采用commdev公共模块的共用参数。

springboot多模块下yml配置文件的加载

如果你的项目有多个模块,比如,几个项目要共用一个数据模块(DataModule),API部分为一个模块(APIModule)。如果要切换不同的环境,需要设置不同的数据库地址,如果数据分布于多个数据源中,手动修改yml中的地址显然不实际而且容易出错,所以需要将不同的数据源放在不同的yml中,在编译时修改一个yml中的配置即可

具体例子如下

APIModule下有application.yml,如果环境不同,本模块的配置也需要有相应的区别,那么可以增加application-development.yml(开发环境)和application-product.yml(生产环境)。

要想加载其中的一个,就需要配置application.yml中的spring.profiles.active为development(配置文件以application-开头)。然而,如果你的DataModule下的yml文件的命名规则与APIModule一样的话,则会发现数据模块配置的东西读不到了。

此时必须将冲突的名称改名,如:将Datamodule的yml文件改为application-datadevelopment.yml和application-dataproduct.yml并在APIModule的application.yml文件中的spring.profiles.active中增加datadevelopment,即可加载这两个模块的dev配置了。

同理,要修改为生产环境,spring.profiles.active则为product,dataproduct。

感谢各位的阅读!关于“springboot多模块中的共用配置文件会遇到什么问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. IIS运行调试会遇到什么问题
  2. vue里swiper会遇到什么问题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot

上一篇:数据库查询存储过程中特定字符的方法是什么

下一篇:C# Windows CE特点之模块化的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》