SpringBoot配置檔案詳解

預設配置檔案

配置檔名

預設的配置檔名是application。properties或application。yml,兩者作用是一樣的,只是格式不一樣而已。

application。properties的格式如下:

jdbc。password=123456

application。yml的格式如下:

jdbc: password: 123456

配置檔案路徑

預設的配置檔案所處路徑如下:

-file:。/config/ (根目錄下的config目錄)

-file:。/ (根目錄)

-classpath:/config/ (classpath路徑下的config目錄)

-classpath:/ (classpath路徑)

建議使用其中一個目錄即可,方便管理與維護。

載入其它配置檔案

使用@PropertySource註解。

如下程式碼片段,透過@PropertySource(“classpath:jdbc。yml”)載入classpath路徑下的jdbc。yml作為配置檔案。

@Configuration@PropertySource(“classpath:jdbc。yml”)public class ConfigFile {}

實現EnvironmentPostProcessor介面。

如下程式碼片段,透過實現EnvironmentPostProcessor介面載入檔案系統中的D:/tmp/test。properties作為配置檔案。

public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor { @Override public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { try (InputStream is = new FileInputStream(“D:/tmp/test。properties”)) { Properties pro = new Properties(); pro。load(is); PropertySource ps = new PropertiesPropertySource(“testproperties”, pro); environment。getPropertySources()。addLast(ps); } catch (Exception e) { throw new RuntimeException(“載入配置檔案出錯了!”, e); } }}

多環境配置

SpringBoot提供多環境配置的機制,讓開發者靈活根據需求切換不同的配置環境。配置檔名可以為

application-{profile}。properties/yml。如:

application。properties 預設配置

application-dev。properties 開發環境配置

application-test。properties 測試環境配置

application-prod。properties 生產環境配置

在application。properties檔案中透過指定spring。profiles。active=dev(或test,或prod)來切換環境。