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

c:/user1/project/src/main/resources/static

 

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

application-prod-user1.properties

server.port=80

pom.xml

c:/user1/project/src/main/resources/static

 

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

application-dev-user2.properties

server.port=8081

pom.xml

c:/user2/project/src/main/resources/static

 

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

application-prod-user2.properties

server.port=9000

pom.xml

c:/user2/project/src/main/resources/static

 

配置步骤:

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


	
		
			dev-user1
			
				true
			
			
				dev-user1
                c:/user1/project/src/main/resources/static
			
		

		
			prod-user1
			
				prod-user1
                c:/user1/project/src/main/resources/static
			
		

		
			dev-user2
			
				dev-user2
                c:/user2/project/src/main/resources/static
			
		
		
		
			prod-user2
			
				prod-user2
                c:/user2/project/src/main/resources/static
			
		

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

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

你可能感兴趣的:(Eclipse,Spring,Boot,Maven)