選擇啟動某個配置文件
Spring Boot配置文件提供了隔離一部分應用程序配置的方法,並可使其僅在某指定環境可用。任何有@Component和@Configuration注解的Bean都用@profile來指定加載哪個配置文件。如:
@Configuration
@Profile( “production”)//加載production配置文件,即也代表當前是production環境
public class Demo{
// ...
}
以普通Spring的方式,可以使用spring.profile.active環境屬性來指定哪些配置文件處於活動狀態。
spring.profiles.active = dev
或
spring:
profiles:
active: dev
4.1以編程方式啟動某配置文件 @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication app = new SpringApplication(DemoApplication.class); //啟動dev配置文件 app.setAdditionalProfiles("dev"); // dev 或prod app.run(args); } }
4.2 maven的pom文件中啟動某配置文件
<profiles>
<profile>
<!-- 本地開發環境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<!-- 開啟本地開發環境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 測試環境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- 生產環境 -->
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
5. YAML下的列表
如,以下yaml配置文件:
book:
list:
-name: Java -name: C++
可用以下形式獲取book列表:
@ConfigurationProperties(“book”) public class FooProperties{ private final List <MyPojo> list = new ArrayList <>(); public List <MyPojo> getList(){ return this .list; } }
