Spring Boot程序默認(rèn)從application.properties或者application.yaml讀取配置,如何將配置信息外置,方便配置呢?
查詢官網(wǎng),可以得到下面的幾種方案:
1. 通過命令行指定
SpringApplication會(huì)默認(rèn)將命令行選項(xiàng)參數(shù)轉(zhuǎn)換為配置信息
例如,啟動(dòng)時(shí)命令參數(shù)指定:
java -jar demo.jar --server.port = 9011
2.外置配置文件
Spring程序會(huì)按優(yōu)先級(jí)從下面這些路徑來加載application.properties配置文件
當(dāng)前目錄下的/config目錄
當(dāng)前目錄
classpath里的/config目錄
classpath 跟目錄
因此,要外置配置文件就很簡單了,在jar所在目錄新建config文件夾,然后放入配置文件,或者直接放在配置文件在jar目錄.
3.自定義配置文件
如果你不想使用application.properties作為配置文件,怎么辦?完全沒問題
java -jar demo.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
或者
java -jar -Dspring.config.location=D:\config\config.properties demo.jar
當(dāng)然,還能在代碼里指定
@SpringBootApplication
@PropertySource(value={"file:config.properties"})
public class SpringbootrestdemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootrestdemoApplication.class, args);
}
}