Spring Boot profile用于分离不同环境的参数配置,通过spring.profile.active参数设置使用指定的profile。
在Spring Boot中应用程序配置可以使用2种格式:application.properties 或者 application.yml。
以".yml"格式为例说明:
在项目配置中,通常会存在如下几个配置文件: application.yml: 用于公共参数配置 application-dev.yml: 用于开发环境配置 application-test.yml: 用于测试环境配置 application-prod.yml: 用于生产环境配置
在application.yml中设置:
spring:
profile:
active: dev | test | prod # 设置profile参数
例如:当指定spring.profile.active = dev 后,程序启动时将加载application.yml 和 application-dev.yml 中的配置参数。
另外,如果项目使用maven进行构建,为了打包时只打包相应的application配置文件,需要通过maven的profile定义来实现。
1 <!-- 定义环境 -->
2 <profiles>
3 <!-- 开发环境 -->
4 <profile>
5 <id>dev</id>
6 <properties>
7 <!-- 定义profileActive属性 -->
8 <profileActive>dev</profileActive>
9 </properties>
10 <activation>
11 <activeByDefault>true</activeByDefault>
12 </activation>
13 </profile>
14
15 <!-- 测试环境 -->
16 <profile>
17 <id>test</id>
18 <properties>
19 <profileActive>test</profileActive>
20 </properties>
21 </profile>
22
23 <!-- 生产环境 -->
24 <profile>
25 <id>prod</id>
26 <properties>
27 <profileActive>prod</profileActive>
28 </properties>
29 </profile>
30 </profiles>
31
32 <build>
33 <resources>
34 <resource>
35 <directory>src/main/resources</directory>
36 <filtering>true</filtering>
37 <excludes>
38 <exclude>application.yml</exclude>
39 <exclude>application-dev.yml</exclude>
40 <exclude>application-test.yml</exclude>
41 <exclude>application-prod.yml</exclude>
42 </excludes>
43 </resource>
44 <resource>
45 <directory>src/main/resources</directory>
46 <filtering>true</filtering>
47 <includes>
48 <include>application.yml</include>
49 <include>application-${profileActive}.yml</include>
50 </includes>
51 </resource>
52 </resources>
53 <build>
【参考】
http://blog.csdn.net/lihe2008125/article/details/50443491 http://www.jianshu.com/p/01efe59d6a64 http://blog.javachen.com/2016/02/22/profile-usage-in-spring-boot.html