Spring boot 多环境变量配置

这里主要介绍Spring boot配合maven实现多环境变量配置,java开发工具使用eclipse,其它如gradle,或者只用其它IDE,基本原理差不多。

常见多环境的产生有两个方面:

1 开发环境和生产环境

2 不同用户的开发环境

下面以dev和prod为例,并且有两个用户user1和user2

在统一默认的application.properties文件中给出变量:

spring.profiles.active=@env@

这里注意一下,maven默认的变量占位符为${}, 如果parent是spring-boot-starter-parent,占位符变为@@

 

user 1, dev所对应的properties文件和pom.xml文件(只列出不同内容)

application-dev-user1.properties

server.port=8080

pom.xml

<staticdir>c:/user1/project/src/main/resources/static</staticdir>

 

user 1, prod所对应的properties文件和pom.xml文件(只列出不同内容)

application-prod-user1.properties

server.port=80

pom.xml

<staticdir>c:/user1/project/src/main/resources/static</staticdir>

 

user 2, dev所对应的properties文件和pom.xml文件(只列出不同内容)

application-dev-user2.properties

server.port=8081

pom.xml

<staticdir>c:/user2/project/src/main/resources/static</staticdir>

 

user 2, prod所对应的properties文件和pom.xml文件(只列出不同内容)

application-prod-user2.properties

server.port=9000

pom.xml

<staticdir>c:/user2/project/src/main/resources/static</staticdir>

 

配置步骤:

1 在src/main/resources下创建四个文件application-dev-user1.properties, application-prod-user1.properties,application-dev-user2.properties, application-prod-user2.properties

分别定义 server.port

2 在pom.xml中添加四个profiles

<profiles>
	
		<profile>
			<id>dev-user1</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<env>dev-user1</env>
                <staticdir>c:/user1/project/src/main/resources/static</staticdir>
			</properties>
		</profile>

		<profile>
			<id>prod-user1</id>
			<properties>
				<env>prod-user1</env>
                <staticdir>c:/user1/project/src/main/resources/static</staticdir>
			</properties>
		</profile>

		<profile>
			<id>dev-user2</id>
			<properties>
				<env>dev-user2</env>
                <staticdir>c:/user2/project/src/main/resources/static</staticdir>
			</properties>
		</profile>
		
		<profile>
			<id>prod-user2</id>
			<properties>
				<env>prod-user2</env>
                <staticdir>c:/user2/project/src/main/resources/static</staticdir>
			</properties>
		</profile>

</profiles>

3 右键点击项目,run as -> maven build ...在配置选项Profiles填入对应的profile,property文件就会正确的被打包。

如果存在多个开发者都使用不同属性值,也可以在各自开发环境中的.m2\setting.xml中配置profiles.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值