Springboot学习:提取公共模块配置文件

Springboot学习:提取公共模块配置文件

记录一次公共配置的提取,后续有更好的实现再优化,欢迎大家一起讨论指正。

springboot开发过程中,有一部分配置可能会重复出现在各个子模块中,例如注册中心、redis、数据库连接池等配置,那么怎么样才能将重复的部分提取公共配置呢?并且引用公共配置后,还可以实现每个微服务的个性化配置?下面是我的实现方式。
1、提取公共模块,每个微服务中进行引入该模块,在该模块下,新增配置文件
《Springboot学习:提取公共模块配置文件》
2、引入公共模块后,微服务自己的配置中新增以下配置:
《Springboot学习:提取公共模块配置文件》
《Springboot学习:提取公共模块配置文件》

spring:
   profiles:
     include: '@commonProfileActive@,@profileActive@'   #dev放在common-dev后面,如果common-dev和dev中存在相同的配置,dev会覆盖common-dev

其中commonProfileActive和profileActive是配置在父工程下的pom.xml文件中

<!-- profiles -->
	<profiles>
		<profile>
			<id>dev</id>
			<!-- 激活配置 -->
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<properties>
				<profileActive>dev</profileActive>
				<commonProfileActive>common-dev</commonProfileActive>
			</properties>
			<dependencies>
				<!--支持热启动jar包 -->
				<dependency>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-devtools</artifactId>
					<optional>true</optional>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>test</id>
			<!-- 激活配置 -->
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<profileActive>test</profileActive>
				<commonProfileActive>common-test</commonProfileActive>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<!-- 激活配置 -->
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<properties>
				<profileActive>prod</profileActive>
				<commonProfileActive>common-prod</commonProfileActive>
			</properties>
		</profile>
	</profiles>
	```
	这样,在打包时,只需要指定相关环境就可以了
    原文作者:谦竹墨客
    原文地址: https://blog.csdn.net/weixin_44595873/article/details/108603352
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞