美食網(wǎng)站的設計與制作友情鏈接方面pr的選擇應該優(yōu)先選擇的鏈接為
配置文件的介紹
配置文件當中記錄了許多重要的配置信息,例如:
- 數(shù)據(jù)庫的連接信息(用戶的賬戶與密碼)
- 項目的啟動端口
- 第三方系統(tǒng)的調(diào)用密匙
- 用于記錄問題產(chǎn)生的日志
在spring框架中一些特定的框架會自動調(diào)用配置文件中的配置信息來運用.
配置文件中的屬性也起到了類似全局變量的作用.?
對于一個項目,可以準備多種配置文件方便自由調(diào)用來應對不同的情況.
放置在resources目錄下?
配置文件的格式
Spring Boot的配置文件的格式主要有兩種:
- .properties(spring boot默認)
- .yml
properties與yml都是配置文件,類似于同一件實物來說,properties是舊版的而yml是新版的.
properties與yml的優(yōu)先級
properties與yml可以出現(xiàn)在同一個項目當中,還是建議在一個項目下使用同一種類型的配置文件.
但properties的優(yōu)先級會更高,項目先加載properties中的配置,在這之后才去加載yml的.
?下面來示范一下.
①在同一個項目中分別放置properties與yml的配置文件
②分別在兩種配置文件中配置同一屬性的信息
yml配置的端口號為:666
properties配置的端口號為:123?
③在類中調(diào)用并打印查看結(jié)果
觀察得到,打印的端口號為123,即是properties配置文件中的信息.?
注意,雖然properties配置文件在SpringBoot的優(yōu)先級更高.但并不表示不會載入yml的信息噢,只是在同一個屬性上優(yōu)先使用properties中的信息.?
properties配置文件的說明?
properties是配置文件的早期文件類型,是spring boot的默認配置文件類型
基本語法
在properties是以鍵值對的方式來賦值,其中key與value是以"="來連接.
server.port = 123
#使用"#"在配置文件中進行注釋
讀取配置文件信息
在項目中想實現(xiàn)配置文件中內(nèi)容的讀取,可以使用@Value注解來實現(xiàn)
其中@Value注解的格式為${}
@Value("${server.port}")
缺點分析
當在配置相近的內(nèi)容時,會額外的產(chǎn)生冗余的信息.
yml配置文件的說明
yml是yaml的縮寫,全稱為:Yet Another Markup Language(另一種標記語言).
對于properties來說,yml支持了更多的編程語言.還支持更多的數(shù)據(jù)類型,它可以簡單表達清單(數(shù)組)、散列表,標量等數(shù)據(jù)形態(tài)。它使?空?符號縮進和?量依賴外觀的特?,特別適合?來表達或編輯數(shù)據(jù)結(jié)構、各種配置?件.
基本語法?
yml的語法與JSON差不多,但yml使用":" + "(空格)"的形式組合連接key與value,其中的空格不要省略噢.
server.port: 666
對比:?
使用
①與properties對比
左邊為yml,右邊為properties.
可以觀察到y(tǒng)ml中的書寫更為簡便一些.?
②配置數(shù)據(jù)類型
yml還可以配置數(shù)據(jù)類型以及null(properties不可配置數(shù)據(jù)類型噢~)
?③配置對象
寫法一:
寫法二:
配置文件中對象的讀取
?對于yml中的對象就不能使用@Value來讀取了
而是使用@ConfigurationProperties.
@ConfigurationProperties(prefix = "student1")//student1為yml中對象名稱
@Component
public class Student {private int age;private String name;private String id;//其中getter與setter方法不能省略public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}
}
讀取?
yml的基本讀取與properties的@Value注解讀取一直,特殊的對象讀取也說明,此處不再贅述.