Spring Boot系列之-profile

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

 

posted @ 2016-12-25 20:01  nuccch  阅读(1161)  评论(0编辑  收藏  举报