前言
寫上一篇看英文資料腰懂,耗費(fèi)了心力呀,這章项秉,相對(duì)來說簡單點(diǎn)绣溜。也比較熟悉,但是這很實(shí)用娄蔼。不扯了怖喻,開始~
多環(huán)境配置
在開發(fā)應(yīng)用時(shí),常用部署的應(yīng)用是多個(gè)的岁诉,比如:開發(fā)锚沸、測(cè)試、聯(lián)調(diào)涕癣、生產(chǎn)等不同的應(yīng)用環(huán)境哗蜈,這些應(yīng)用環(huán)境都對(duì)應(yīng)不同的配置項(xiàng),比如swagger一般上在生產(chǎn)時(shí)是關(guān)閉的;不同環(huán)境數(shù)據(jù)庫地址距潘、端口號(hào)等都是不盡相同的炼列,要是沒有多環(huán)境的自由切換,部署起來是很繁瑣也容易出錯(cuò)的音比。
maven的多環(huán)境配置
在沒有使用過springboot的多環(huán)境配置時(shí)唯鸭,原先是利用maven的profile功能進(jìn)行多環(huán)境配置,這里我簡單回顧下硅确。
maven配置
dev
true
8080
test
8888
src/main/resources
**/*
${project.basedir}/src/main/resources
**/*.properties
true
maven-resources-plugin
utf-8
true
org.springframework.boot
spring-boot-maven-plugin
然后編譯時(shí)目溉,加入-Ptest,則會(huì)替換test環(huán)境下的參數(shù)值菱农。 完整參數(shù):
1
mvn clean install -DskipTests -Ptest
application.properties
1
server.port=${pom.port}
利用maven實(shí)現(xiàn)多環(huán)境配置缭付,比較麻煩的就是每次部署新環(huán)境時(shí),都需要再次指定環(huán)境編譯打包一次循未。一下進(jìn)入主題陷猫,springboot的多環(huán)境,比較優(yōu)雅了許多的妖。
springboot多環(huán)境配置
Profile是Spring針對(duì)不同環(huán)境不同配置的支持绣檬。需要滿足application-{profile}.properties,{profile}對(duì)應(yīng)你的環(huán)境標(biāo)識(shí)嫂粟。如:
application-dev.properties:開發(fā)環(huán)境
application-test.properties:測(cè)試環(huán)境
而指定執(zhí)行哪份配置文件娇未,只需要在application.properties配置spring.profiles.active為對(duì)應(yīng)${profile}的值。
# 指定環(huán)境為dev
spring.profiles.active=dev
則會(huì)加載:application-dev.properties的配置內(nèi)容星虹。
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 : 多環(huán)境應(yīng)用啟動(dòng).
還可以在**命令行方式**激活不同環(huán)境配置零抬,如
java -jar xxx.jar --spring.profiles.active=test
此時(shí)就會(huì)加載application-test.properties的配置內(nèi)容。 test:
這里順便提一句宽涌,可能在不同環(huán)境下平夜,可能加載不同的bean時(shí),可利用@Profile注解來動(dòng)態(tài)激活
@Profile("dev")//支持?jǐn)?shù)組:@Profile({"dev","test"})
@Configuration
@Slf4j
public?class?ProfileBean {
@PostConstruct
public?void?init() {
log.info("dev環(huán)境下激活");
}
}
啟動(dòng)時(shí)卸亮『龆剩控制臺(tái)輸出:
1
2018-07-15 15:04:44.540 INFO 11876 --- [ main] c.l.l.springboot.chapter5.ProfileBean : dev環(huán)境下激活
如果你現(xiàn)在在JAVA這條路上掙扎,也想在IT行業(yè)拿高薪兼贸,可以參加我們的訓(xùn)練營課程段直,選擇最適合自己的課程學(xué)習(xí),技術(shù)大牛親授寝受,7個(gè)月后坷牛,進(jìn)入名企拿高薪。我們的課程內(nèi)容有:Java工程化很澄、高性能及分布式、高性能、高架構(gòu)甩苛、性能調(diào)優(yōu)蹂楣、Spring,MyBatis讯蒲,Netty源碼分析和大數(shù)據(jù)等多個(gè)知識(shí)點(diǎn)痊土。如果你想拿高薪的,想學(xué)習(xí)的墨林,想就業(yè)前景好的赁酝,想跟別人競爭能取得優(yōu)勢(shì)的,想進(jìn)阿里面試但擔(dān)心面試不過的旭等,你都可以來酌呆,q群號(hào)為:835638062
注:加群要求
1、具有1-5工作經(jīng)驗(yàn)的搔耕,面對(duì)目前流行的技術(shù)不知從何下手隙袁,需要突破技術(shù)瓶頸的可以加。
2弃榨、在公司待久了菩收,過得很安逸,但跳槽時(shí)面試碰壁鲸睛。需要在短時(shí)間內(nèi)進(jìn)修娜饵、跳槽拿高薪的可以加。
3官辈、如果沒有工作經(jīng)驗(yàn)划咐,但基礎(chǔ)非常扎實(shí),對(duì)java工作機(jī)制钧萍,常用設(shè)計(jì)思想褐缠,常用java開發(fā)框架掌握熟練的,可以加风瘦。
4队魏、覺得自己很牛B,一般需求都能搞定万搔。但是所學(xué)的知識(shí)點(diǎn)沒有系統(tǒng)化胡桨,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加。
5.阿里Java高級(jí)大牛直播講解知識(shí)點(diǎn)瞬雹,分享知識(shí)昧谊,多年工作經(jīng)驗(yàn)的梳理和總結(jié),帶著大家全面酗捌、科學(xué)地建立自己的技術(shù)體系和技術(shù)認(rèn)知