SpringBoot 可以在 application.properties 中配置信息 spring.profiles.active 來讀取不同環境的配置文件。
1. SpringBoot2 讀取不同環境的配置文件
工程運行環境可能有:開發環境、測試環境和生產環境,可以通過修改 application.properties 來獲取不同環境的的配置信息。
首先我們先講一下用到的 @Value 註解, @Value 可以獲取 application.properties 中的配置信息,先看一個小實例。
application.properties 如下所示:
通過 @Value("${MyName}") 訪問 application.properties 中的 MyName,控制器如下所示:
@EnableAutoConfiguration
@RestController
public class TestValueController {
@Value("${MyName}")
private String myName;
@RequestMapping("/testValue")
public String testValue(Map<String, Object> map) {
return myName;
}
}
啓動工程,訪問 http://localhost:8080/testValue ,運行截圖如下所示:
正式開始 讀取不同環境的配置文件的實例 。
先創建三個配置文件:
application.properties 中 ,spring.profiles.active 等於 dev 則默認加載開發環境, 等於 test 則默認加載測試環境, 等於 prod 則默認加載生產環境 ,如下默認加載開發環境:
控制器代碼:
@EnableAutoConfiguration
@RestController
public class TestValueController {
@Value("${MyName}")
private String myName;
@Value("${value}")
private String value;
@RequestMapping("/testValue")
public String testValue(Map<String, Object> map) {
return myName;
}
@RequestMapping("/testSpringProfilesActive")
public String testSpringProfilesActive(Map<String, Object> map) {
return value;
}
}
重新運行工程,訪問 :http://localhost:8080/testSpringProfilesActive 。
修改 application.properties 爲如下所示,重新運行工程,訪問 :http://localhost:8080/testSpringProfilesActive 。
運行截圖如下圖所示: