(點選上方公眾號,可快速關註)
來源:oKong ,
blog.lqdev.cn/2018/07/15/springboot/chapter-five/
前言
寫上一篇看英文資料,耗費了心力呀,這章,相對來說簡單點。也比較熟悉,但是這很實用。不扯了,開始~
多環境配置
在開發應用時,常用部署的應用是多個的,比如:開發、測試、聯調、生產等不同的應用環境,這些應用環境都對應不同的配置項,比如swagger一般上在生產時是關閉的;不同環境資料庫地址、埠號等都是不盡相同的,要是沒有多環境的自由切換,部署起來是很繁瑣也容易出錯的。
maven的多環境配置
在沒有使用過springboot的多環境配置時,原先是利用maven的profile功能進行多環境配置,這裡我簡單回顧下。
maven配置
dev
true
然後編譯時,加入-Ptest,則會替換test環境下的引數值。 完整引數:
mvn clean install -DskipTests -Ptest
application.properties
server.port=${pom.port}
利用maven實現多環境配置,比較麻煩的就是每次部署新環境時,都需要再次指定環境編譯打包一次。一下進入主題,springboot的多環境,比較優雅了許多。
springboot多環境配置
Profile是Spring針對不同環境不同配置的支援。需要滿足application-{profile}.properties,{profile}對應你的環境標識。如:
-
application-dev.properties:開發環境
-
application-test.properties:測試環境
而指定執行哪份配置檔案,只需要在application.properties配置spring.profiles.active為對應${profile}的值。
# 指定環境為dev
spring.profiles.active=dev
則會載入:application-dev.properties的配置內容。
2018-07-15 14:52:41.304 INFO 15496 — [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2018-07-15 14:52:41.310 INFO 15496 — [ main] c.l.l.s.chapter5.Chapter5Application : Started Chapter5Application in 8.506 seconds (JVM running for 10.81)
2018-07-15 14:52:41.316 INFO 15496 — [ main] c.l.l.s.chapter5.Chapter5Application : 多環境應用啟動.
還可以在**命令列方式**啟用不同環境配置,如
java -jar xxx.jar –spring.profiles.active=test
此時就會載入application-test.properties的配置內容。 test:
這裡順便提一句,可能在不同環境下,可能載入不同的bean時,可利用@Profile註解來動態啟用
@Profile(“dev”)//支援陣列:@Profile({“dev”,”test”})
@Configuration
@Slf4j
public class ProfileBean {
@PostConstruct
public void init() {
log.info(“dev環境下啟用”);
}
}
啟動時。控制檯輸出:
2018-07-15 15:04:44.540 INFO 11876 — [ main] c.l.l.springboot.chapter5.ProfileBean : dev環境下啟用
總結
目前網際網路上很多大佬都有SpringBoot系列教程,如有雷同,請多多包涵了。本文是作者在電腦前一字一句敲的,每一步都是親身實踐過的。若文中有所錯誤之處,還望提出,謝謝。
系列
【關於投稿】
如果大家有原創好文投稿,請直接給公號傳送留言。
① 留言格式:
【投稿】+《 文章標題》+ 文章連結
② 示例:
【投稿】《不要自稱是程式員,我十多年的 IT 職場總結》:http://blog.jobbole.com/94148/
③ 最後請附上您的個人簡介哈~
看完本文有收穫?請轉發分享給更多人
關註「ImportNew」,提升Java技能