使用 Spring Boot 進(jìn)行開發(fā)時(shí),有一種開發(fā)理念是,約定大于配置,也就是說,使用約定的方式進(jìn)行配置,從而減少了配置文件。
在 Spring Boot 中,可以使用 .properties 和 .yml 兩種格式的文件進(jìn)行配置。
.properties 是比較常規(guī)的 key 和 value 的方式進(jìn)行配置,key 和 value 使用 = 號(hào)進(jìn)行連接。
.yml 文件使用了層次更加清晰的方式進(jìn)行配置,配置項(xiàng)中也使用 key 和 value 的方式進(jìn)行,并使用 : 號(hào)進(jìn)行關(guān)聯(lián),value 和 : 之間有一個(gè)空格,而且這個(gè)空格是必須的。
如果項(xiàng)目中同時(shí)存在 .properties 和 .yml 兩種配置文件的話,那么 .properties 和 .yml 中都存在的配置項(xiàng)由 .properties 中的決定。
比如:
application.yml 中的配置項(xiàng)為:
server:
port: 1234
在 application.properties 中的配置項(xiàng)為:
server.port=4321
那么,在啟動(dòng) Spring Boot 項(xiàng)目以后,該項(xiàng)目的端口為 4321,也就是以 application.properties 的為主。
Spring Boot 的項(xiàng)目通常會(huì)打包成為一個(gè) jar 包,我們可以通過命令行來啟動(dòng)項(xiàng)目,在命令行中也可以指定一些配置項(xiàng),而在命令行中指定的配置項(xiàng),會(huì)覆蓋掉 .yml 和 .properties 的相同配置項(xiàng)。
java -jar demo.jar --server.port=12345
這樣運(yùn)行 Spring Boot 項(xiàng)目之后,項(xiàng)目監(jiān)聽的端口號(hào)就是 12345。