1. 程式人生 > >Spring Boot參考教程(四)Spring Boot配置使用之配置文件用法

Spring Boot參考教程(四)Spring Boot配置使用之配置文件用法

point rop 推薦書 endpoint size int == 需要 相同

4.1 Spring Boot配置使用之配置文件用法

Spring Boot旨在簡化配置,但依然需要進行少量配置來滿足應用的特定需要。

配置方式拋棄了XML文件的配置方式,主要使用配置文件和配置類來實現自定義配置,但依然可以使用XML文件的方式進行配置,具體不再演示,主要說明配置文件和配置類的使用。

Spring Boot的配置文件默認為application.properties或application.ymal文件,本文主要使用application.properties說明。

Spring Boot的一般性全局配置項可參考官網中附錄A(常見應用屬性)。

技術分享

1. 自定義配置更改應用屬性

(1) Spring Boot應用默認端口為8080,上下問路徑為/,加入配置:

server.port=8090

server.context-path=/helloworld

management.context-path=/endpoints

management.port=8000

啟動工程測試:

日誌如下,顯示應用開啟了兩個端口。

技術分享

日誌顯示應用開啟了兩個端口,其中8090端口為應用業務請求使用,8000為Actuator端點使用,這樣既將業務與應用本身的信息區分開,同時又增加了端點自身的安全性。

訪問端點測試:端點路徑和端口已更改為配置項

技術分享

訪問應用請求:測試接口路徑和端口已改為配置項

技術分享

(2)在Spring Boot應用啟動時會有一個Spring的標誌:

技術分享

可關閉:加入配置spring.main.banner-mode.off=true即可。

(3)配置靜態資源:Spring Boot 默認配置的/**映射到/static(或/public,/resources,/META-INF/resources),/webjars/**會映射到classpath:/META-INF/resources/webjars/

想更改,加入配置:spring.mvc.static-path-pattern=/resources/**

註:配置文件方式配置上述配置後會更改默認靜態資源設置,如想更改後不影響默認配置下文配置類中會介紹。

其他如開啟AOP,代理等設置直接在SpringBoot的常用配置目錄中找到並配置即可。

不再多做測試,只演示基本用法。

2. 自定義properties使用

在開發過程中我們經常會使用一些配置文件記錄應用會使用到的固定值,這就需要使用自定義Properties。

(1)用法一(包含以下四種用法)

A.直接使用註解@Value("${myproperties.prop1}")

B.直接註入參數中String getProperties(@Value("${myproperties.prop2}")String prop2)

C. 使用Environment類的getProperty("myproperties.prop3");

D.使用註解@ConfigurationProperties("myproperties"),在類中聲明屬性,並聲明getter和setter方法,註解會自動匹配註解中參數後的節點與屬性名一致的值然後註入,此匹配為模糊匹配。

在配置文件中加入自定義配置:

myproperties.prop1=prop1

myproperties.prop2=prop2

myproperties.prop3=prop3

myproperties.prop4=prop4

編寫代碼:

技術分享

測試:

技術分享

(2)用法2

可直接註入實體類中,並驗證匹配為模糊匹配:

配置文件中加入:

propbean.prop5=prop5

propbean.prop6=prop6

propbean.prop7=prop7

propbean.prop8=prop8

編寫代碼 PropBean1,PropBean2;PropBean1:測試註入實體類中屬性

技術分享

PropBean2:測試模糊匹配

技術分享

編寫測試代碼:

技術分享

啟動測試:

技術分享

(3)初始化Bean時使用註解:

編寫PropBean3:

技術分享

配置代碼:

技術分享

測試代碼:

技術分享

測試:

技術分享

3. 根據環境使用配置

實際開發中我們需要根據不同環境加載配置文件可以通過spring.profiles.active配置項實現

具體使用如下:

classpath下新建application-dev.properties文件

並在配置文件中加入如下配置項:

server.port=8090

myproperties.prop1=newprop1

myproperties.prop2=newprop2

application.properties中加入配置:spring.profiles.active=dev

啟動測試:

啟動日誌顯示激活成功

技術分享

訪問測試:

技術分享

SpringBoot的根據環境激活配置文件的規則是,默認加載application.properties文件,當此文件中配置了選項spring.profiles.active=xxx後,會加載application-xxx.properties配置文件中的配置項覆蓋application.properties中相同的配置項。

4. 更改默認配置文件

Spring Boot默認配置文件為application.properties一般情況下不會更改默認配置文件,如有需要可使用註解@PropertySource實現。不再詳細說明。

<實例代碼>

Github:https://github.com/chunyuding/SpringBoot-Demo

https://github.com/chunyuding/SpringBoot-Demo.git

碼雲:https://gitee.com/dingchunyu/SpringBoot-Demo

https://gitee.com/dingchunyu/SpringBoot-Demo.git

<推薦書籍>

百度雲:http://pan.baidu.com/s/1qYA0Nxi

Spring Boot參考教程(四)Spring Boot配置使用之配置文件用法