1、存放目錄
Application屬性文件,按優(yōu)先級排序,位置高的將覆蓋位置
當(dāng)前項目目錄下的一個/config子目錄
當(dāng)前項目目錄
項目的resources即一個classpath下的/config包
項目的resources即classpath根路徑(root)
2、讀取順序
如果在不同的目錄中存在多個配置文件,它的讀取順序是:
1、config/application.properties(項目根目錄中config目錄下) 2、config/application.yml 3、application.properties(項目根目錄下) 4、application.yml 5、resources/config/application.properties(項目resources目錄中config目錄下) 6、resources/config/application.yml 7、resources/application.properties(項目的resources目錄下) 8、resources/application.yml
3、配置文件的生效順序,會對值進行覆蓋
@TestPropertySource 注解
命令行參數(shù)
JAVA系統(tǒng)屬性(System.getProperties())
操作系統(tǒng)環(huán)境變量
只有在random.*里包含的屬性會產(chǎn)生一個RandomValuePropertySource
在打包的jar外的應(yīng)用程序配置文件(application.properties,包含YAML和profile變量)
在打包的jar內(nèi)的應(yīng)用程序配置文件(application.properties,包含YAML和profile變量)
在@Configuration類上的@PropertySource注解
默認(rèn)屬性(使用SpringApplication.setDefaultProperties指定)
4、配置隨機值
roncoo.secret={random.value} roncoo.number={random.int} roncoo.bignumber={random.long} roncoo.number.less.than.ten={random.int(10)} roncoo.number.in.range=${random.int[1024,65536]}
讀取使用注解:@Value(value = "${roncoo.secret}")注:出現(xiàn)黃點提示,是要提示配置元數(shù)據(jù),可以不配置
5、屬性占位符
當(dāng)application.properties里的值被使用時,它們會被存在的Environment過濾,所以你能夠引用先前定義的值(比如,系統(tǒng)屬性)
roncoo.name = www.roncoo.com
roncoo.desc = ${roncoo.name} is a domain name
6、其他配置的介紹
端口配置
server.port=9090 時間格式化 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss 時區(qū)設(shè)置 spring.jackson.time-zone=Asia/Chongqing