Spring Boot 參考指南(配置文件)

25. 配置文件

Spring配置文件提供了一種方法來隔離應用程序配置的部分,並使其僅在某些環境中可用。任何@Component@Configuration均可以標記爲@Profile,以限制加載時的限制,以下例所示:html

@Configuration
@Profile("production")
public class ProductionConfiguration {

    // ...

}

你能夠使用spring.profiles.active Environment屬性來指定哪些配置文件是激活的,你能夠在本章前面描述的任何方法中指定屬性。例如,你能夠在application.properties中包含它,以下例所示:spring

spring.profiles.active=dev,hsqldb

你還能夠使用如下開關在命令行上指定它:--spring.profiles.active=dev,hsqldbsql

25.1 添加活動配置文件

spring.profiles.active屬性與其餘屬性遵循相同的排序規則:最高的PropertySource獲勝,這意味着你能夠在application.properties中指定激活配置文件,而後使用命令行開關替換它們。編程

有時,將特殊配置文件的屬性添加到激活的配置文件中而不是替換它們是有用的,spring.profiles.include屬性可用於無條件地添加激活配置文件,SpringApplication入口點還有一個Java API用於設置額外的配置文件(也就是說,在spring.profiles.active屬性激活的配置文件之上)。參見SpringApplication中的setAdditionalProfiles()方法。segmentfault

例如,當使用--spring.profiles.active=prod開關運行具備如下屬性的應用程序時,proddbprodmq配置文件也被激活:api

---
my.property: fromyamlfile
---
spring.profiles: prod
spring.profiles.include:
  - proddb
  - prodmq
請記住能夠在YAML文檔中定義 spring.profiles屬性,以肯定該文檔什麼時候包含在配置中,有關更多細節,請參閱 第74.7節「根據環境更改配置」

25.2 以編程方式設置配置文件

你能夠在應用程序運行以前經過調用SpringApplication.setAdditionalProfiles(…)來編程地設置激活配置文件,也能夠經過使用Spring的ConfigurableEnvironment接口來激活配置文件。app

25.3 特殊配置的配置文件

application.properties(或application.yml)和經過@ConfigurationProperties引用的文件的特殊配置文件的變體被視爲文件並被加載。有關詳細信息,請參閱「第24.4節」「特殊配置文件的屬性spring-boot


上一篇:外部化配置

下一篇:日誌記錄

相關文章
相關標籤/搜索