1. 關閉指定的自動配置
通過上面的 @EnableAutoConfiguration 註解就能根據指定的依賴,自動進行配置。但如果你想關閉某一項自動配置,就需要使用 @SpringBootApplication 下的 exclude 參數來設置。比如,我想關閉 DataSource,代碼具體如下:
2. 自定義啟動 banner
能滿足企業定製 logo 或項目啟動圖案。比如,可以藉助如下幾個網站來生成:
生成之後,直接將複製好的圖案,放到新建的 banner.txt 文件中。運行程序之後,具體顯示效果如下:
3. 全局配置文件
一般使用 application.properties 或者 application.yml 文件來當作全局配置文件。它能被添加在下面幾個目錄下,區別是加載的順序是不同的,具體如下:
比如,可以在 application.properties 配置文件中,設置埠、請求後綴等內容。具體的配置參數可以參考官網文檔第 10 章 Appendices:https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/htmlsingle/#common-application-properties
4. 配置 Web 容器
在 Spring Boot 應用中,可以內置 Tomcat、Netty、Jetty 等容器。
1)配置 Tomcat
如果添加了 spring-boot-starter-web 依賴,則項目會默認使用 Tomcat 作為 Web 容器。
針對 Tomcat 可以添加一些配置,具體配置如下:
2)配置 Jetty
在 Spring Boot 應用中嵌入 Jetty 的配置很簡單,把 spring-boot-starter-web 中的 Tomcat 改成 Jetty 即可,具體配置如下:
3)配置 Undertow
Undertow 是紅帽公司開發的一款基於 NIO 的高性能 Web 嵌入式伺服器,擁有非常好的性能。配置方式具體如下:
5. HTTPS 配置
使用 JDK 提供的 keytool 工具,可以生成一個數字證書,具體命令如下:
-genkey 表示創建一個密鑰
-alias httpskey 設置密鑰的別名-keyalg RSA 表示使用的加密算法是 RSA-keysize 2048 設置密鑰的長度-keystore hello.p12 設置密鑰存放位置-validity 365 設置密鑰的有效時間然後在 application.properties 文件中編輯,具體配置如下:
6. 類型安全配置
前面也說過,我們的配置文件可以使用 properties 配置和 yaml 配置,項目啟動後,它們都會被加載到 Spring 的環境中,如果你要用配置信息的話,直接使用 @Value 註解即可。
但數據注入到屬性中,需要注意安全。Spring Boot 使用類型安全配置屬性,即使在數據量非常龐大的情況下,將配置文件中的數據注入到 Bean 裡也是很方便的。
添加對應的 Bean 類,使用 @ConfigurationProperties 註解來使用配置,通過prefix 屬性來描述要加載的配置文件的前綴,具體如下:
7. YAML 配置
YAML 是專門用來寫配置文件的語言,非常簡潔、強大,類似 JSON。它可用來替換 application.properties 文件。YAML 主要是由 spring-boot-starter-web 依賴模塊中的 snakeyaml 依賴進行解析。但它不能使用 @propertySource 註解加載 YAML 文件,否則還要使用 Properties 配置。
舉個小案例,具體寫法如下:
還可以自定義配置,具體寫法如下:
對應的代碼,跟前面的 User 類一樣,具體源碼如下:
還能設置成集合的樣式,集合中是單個值,具體寫法如下:
對應的代碼,具體源碼如下:
也能先設置成集合的樣式,但集合中是對象,具體寫法如下:
對應的代碼,具體源碼如下:
8. Profile 配置
如果我們在項目中,需要頻繁在開發環境、測試環境和生產環境中更改大量的配置,會讓你懷疑人生,所以我們使用 @Profile 註解來更加簡潔進行處理。
具體的命名規則:application-{xxx}.properties,這樣就能在不同環境下進行區別配置信息。具體使用步驟如下:
第一步,添加配置文件
在 resources 目錄中,創建 application-dev.properties 和 application-prod.properties 文件,代表開發和生產環境中的配置。
第二步,指定對應模式
1)在 application.properties 中指定
2)在啟動類 main 方法中指定
3)也可以在項目啟動時配置
在我們將項目打成 jar 文件再啟動,具體的操作命令如下: