(转载请注明作者和出处‘https://fourthringroad.com/’,请勿用于任何商业用途)
常用的两种方式:
依赖SpringBoot
springboot 的配置文件设计成application-{profile}.yml(properties),其中profile可根据不同的环境而不同,dev, beta, gamma, stag(uat), prod 等等。
并在application.yml中指定生效的profile即可
spring:
profiles:
active: prod
如上,则生效的配置文件为applicaiton-prod.yml
如何动态指定:
- jvm参数:-Dspring.profiles.active=prod
- @profile注解,加在bean上则只有指定profile生效时才会被初始化
- 配置文件设定成${profiles.active},通过mvn clean package -P prod命令来替换
依赖maven
在pom文件中可以有profiles的配置
<profiles>
<profile>
<id>local</id>
<properties>
<foo>123</foo>
<bar>456</bar>
</properties>
</profile>
</profiles>
这样${foo},${bar}变量会根据profile的不同而变化,实现灵活的配置。
同时还可以在<resource>标签中指定打包哪个资源文件 – src/main/resource/${profiles.active}
或者在<build>中指定filter,include哪些文件- src/…/application-${profiles.active}.properties
如何动态指定:
- mvn clean package -P prod
- 可以根据os,env,文件是否存在等条件设定自动生效的profile
- maven的settings.xml里面可以指定生效的profile是哪个-activeProfile
整合SpringBoot和Maven
用maven pom中profiles下的变量去代替application.yml, application-stag.yml, bootstrap.yml 等文件中的值
Арматура диаметром 32 мм, изготовленная из стали марки А500С, является одним из самых востребованных видов металлопроката в строительстве. Она применяется при возведении фундаментов, армировании стен и перемычек. https://armatura32.ru