springboot 選擇啟動某個配置文件


 

選擇啟動某個配置文件

 

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; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM