SpringBoot學習筆記二(常規屬性配置,類型安全配置,日誌配置,Profile配置)

SpringBoot配置

Spring Boot 使用一個全局的配置文件 application.properties 或application.yml,放置在src/main/resources目錄或者類路徑/config下(yaml語言的配置文件application.yml,yaml是以數據爲中心的語言,在配置數據的時候具有面向對象的特徵。)
這裏,以application.properties爲主。

application.properties作用:對一些默認配置的配置值進行修改。

這裏寫圖片描述

例:
1、將Tomcat的默認端口號8080修改爲9090
2、 默認路徑”/”修改爲”/helloboot”。

這裏寫圖片描述

SpringBoot常用的配置等需要某個模塊時,做相應的配置。

SpringBoot爲我們提供了簡化企業級開發絕大多數場景的starter pom,只要使用了應用場景所需要的starter pom,相關的技術配置就會消除,就可以得到Spring Boot爲我們提供的自動配置的Bean。

常見的starter pom(針對不同的場景,使用不同的starter pom 進行自動配置。):

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

常規屬性配置:

常規spring環境: 1、@PropertySource指明properties文件的位置 2、通過@Value注入值
spring boot環境:1、在application.properties定義屬性 2、直接使用@Vaue注入
(節省了@PropertySource指定這一步,因爲spring boot默認指定的配置文件就是application.properties)

實例:
1、在application.properties配置文件中定義屬性:

這裏寫圖片描述

2、在你的controller層使用@Value()註解

這裏寫圖片描述

3、最後寫測試方法,檢查是否成功注入:

這裏寫圖片描述

類型安全配置(基於properties):

使用@Value注入每個配置在實際項目中會顯得格外麻煩,因爲我們的配置通常會是許多個,如果使用普通屬性注入,則要使用@Value注入很多次。

基於這個需求,Spring Boot提供了基於類型安全的配置方式,通過@ConfigurationProperties將properties屬性和一個Bean及其屬性關聯,從而實現類型安全的配置。

例子:

1、在application.properties配置文件中指定屬性

這裏寫圖片描述

2、先是通過@Component聲明這個實體類是一個Bean
之後通過@ConfigurationProperties加載properties文件內的配置,通過prefix屬性指定properties的配置的前綴,通過locations指定properties文件的位置(這裏沒使用到)。

這裏寫圖片描述

3、通過@Autowired注入相應的實體類

這裏寫圖片描述

4、打印相應信息(因爲application.properties配置文件中定義的屬性已經通過類型安全配置配置到Author對象中{@ConfigurationProperties},所以只要通過Author對象調用裏面的屬性,就可以取值)

這裏寫圖片描述

日誌配置:

Spring Boot 支持Java Util Logging、Log4J、Log4J2和Logback作爲日誌框架。
無論使用哪種框架,Spring Boot已爲當前使用日誌框架的控制檯輸出及文件輸出做好了配置。
默認情況下,Spring Boot使用Logback作爲日誌框架。

例子:
logging.file=路徑(設置日誌文件存放在那個路徑下)
logging.level.org.springframework.web = DEBUG(配置日誌文件,格式爲logging.level.包名 = 級別)

這裏寫圖片描述

SpringBoot啓動時就會把DEBUG級別以上的信息全都打印出來(只是啓動時相關信息)。

Profile配置:

Profile是Spring用來針對不同的環境對不同的配置提供支持的。
全局Profile配置使用application-{profile}.properties(如application-prod.properties)
通過在application.properties中設置spring.profile.active = prod來指定活動的profile。

例子:
1、新建配置文件application-dev.properties

這裏寫圖片描述

2、在application-dev.properties配置文件中指定服務端口爲8888(測試)

這裏寫圖片描述

3、新建配置文件application-prod.properties

這裏寫圖片描述

4、在application-prod.properties配置文件中指定服務端口爲80(測試)

這裏寫圖片描述

5、當我們在application.properties通過spring.profile.active = prod指定活動的profile是application-prod.properties,此時服務端口是80。

這裏寫圖片描述

6、當我們在application.properties通過spring.profile.active = dev指定活動的profile是application-dev.properties,此時服務端口是8888。

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章