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>devid> 6 <properties> 7 8 <profileActive>devprofileActive> 9 properties> 10 <activation> 11 <activeByDefault>trueactiveByDefault> 12 activation> 13 profile> 14 15 16 <profile> 17 <id>testid> 18 <properties> 19 <profileActive>testprofileActive> 20 properties> 21 profile> 22 23 24 <profile> 25 <id>prodid> 26 <properties> 27 <profileActive>prodprofileActive> 28 properties> 29 profile> 30 profiles> 31 32 <build> 33 <resources> 34 <resource> 35 <directory>src/main/resourcesdirectory> 36 <filtering>truefiltering> 37 <excludes> 38 <exclude>application.ymlexclude> 39 <exclude>application-dev.ymlexclude> 40 <exclude>application-test.ymlexclude> 41 <exclude>application-prod.ymlexclude> 42 excludes> 43 resource> 44 <resource> 45 <directory>src/main/resourcesdirectory> 46 <filtering>truefiltering> 47 <includes> 48 <include>application.ymlinclude> 49 <include>application-${profileActive}.ymlinclude> 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