現(xiàn)在我們已經(jīng)知道,我們可以通過在運(yùn)行jar時(shí)提供一系列的參數(shù)來定制SpingBoot為我們默認(rèn)做好的設(shè)置。如果我們要定制的屬性很多,在實(shí)際開發(fā)中,你可能會(huì)需要覆蓋上百個(gè)SpringBoot的默認(rèn)設(shè)置,如果這些設(shè)置寫在java -jar 運(yùn)行命令中一點(diǎn)都不優(yōu)雅,也不利于維護(hù)。那如何是好?
成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都做網(wǎng)站、成都網(wǎng)站制作、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營銷等。成都創(chuàng)新互聯(lián)公司為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,成都創(chuàng)新互聯(lián)公司核心團(tuán)隊(duì)十年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。SpringBoot提供了專門的屬性配置文件和配置接口。
SpringBoot默認(rèn)加載的屬性配置文件名稱為application,就像你用Spring框架一樣,也有一個(gè)全局的配置文件。
你可以在resource目錄下創(chuàng)建application.properties,把需要定制的SpringBoot屬性寫入其中,
比如你要修改SpringBoot啟動(dòng)的默認(rèn)端口,就加入server.port屬性;要修改redis的默認(rèn)端口,可以加入spring.redis屬性;要修改rabbitmq的連接地址,可以加入spring.rabbitmq.host屬性,就像這樣:
重啟項(xiàng)目后,就看到默認(rèn)端口已經(jīng)修改為8081。這跟使用啟動(dòng)命令java -jar運(yùn)行道理是一樣的,只不過看起來更利于維護(hù)。如果你覺得就這么幾個(gè)參數(shù),直接寫在啟動(dòng)命令中豈不更省事?實(shí)際項(xiàng)目中需要進(jìn)行設(shè)置的內(nèi)容往往很多,甚至還要復(fù)雜。
因此,自己定義application.properties來管理框架定制屬性的意義就很重要了。
而且,application.properties的作用遠(yuǎn)不止于此。
他還能方便區(qū)分和管理不同環(huán)境的配置。開發(fā)人員經(jīng)常要在本地環(huán)境、測試環(huán)境甚至生產(chǎn)環(huán)境中切換,以便更好的開發(fā)或排查問題。在以前,我們可能是通過在application.properties中注釋掉一部分并寫上另一部分內(nèi)容的方式來切換不同環(huán)境。然而,現(xiàn)在有更優(yōu)雅的方式。
可以通過再application后添加不同的后綴名稱來區(qū)分不同項(xiàng)目環(huán)境,不用全部雜糅在一個(gè)配置文件中。比如這樣:
一般約定,dev代表開發(fā)環(huán)境,test代表測試環(huán)境, prod代表生產(chǎn)環(huán)境。通過不同的后綴名稱,不同環(huán)境配置一目了然。
最后在根配置文件,也就是application.properties中添加 spring.profiles.active=dev來指定啟用哪個(gè)配置,比如這里的dev就對(duì)應(yīng)application-dev.properties,也就是我們約定的開發(fā)環(huán)境配置。
那如果application.properties中和application-dev.properties都有相同的配置屬性,結(jié)果如何呢?
答案是,spring.profiles.active對(duì)應(yīng)了哪個(gè)就是哪個(gè)生效,除非那個(gè)配置文件中沒有定義的屬性,才會(huì)被application.properties中定義的覆蓋,如果兩個(gè)文件中都沒有,則沿用springboot默認(rèn)設(shè)置。
另外,附帶提一下,springboot配置文件還有一種yaml格式,比如上述的application.properties可以命名為application.yml,作用完全相同,只不過yaml文件是用樹形結(jié)構(gòu)來編寫屬性,就像這樣:
而當(dāng)項(xiàng)目中同時(shí)存在application.properties和application.yml時(shí),起作用的是application.properties。 同一目錄下,properties配置優(yōu)先級(jí) 高于 YAML配置優(yōu)先級(jí)。
使用建議
1、盡量統(tǒng)一使用一種格式的配置文件,盡量不要兩種格式混用。
2、properties雖然傳統(tǒng)而且好用,但官方更推薦用yaml格式,因?yàn)闃湫谓Y(jié)構(gòu)可讀性更強(qiáng),這也是很多編程語言的趨勢。3、一般情況下,我們都會(huì)放在resource根目錄下,也可以放在resource/config目錄下,這種情況下,優(yōu)先級(jí)最高的是resource/config中的配置文件,這也是官方推薦的方式。因此,建議大家將springboot本身的配置文件放在resource/config目錄下。
最后,附上完整的配置參數(shù)清單,需要修改默認(rèn)的哪些設(shè)置,對(duì)照這個(gè)清單上找到,然后application文件中覆蓋默認(rèn)屬性接口。springboot的這些屬性很多是要另外在pom中添加相關(guān)的starter才能使用這些功能和參數(shù)定制。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文標(biāo)題:SpringBoot中application配置文件使用方法-創(chuàng)新互聯(lián)
鏈接分享:http://jinyejixie.com/article26/djescg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、做網(wǎng)站、靜態(tài)網(wǎng)站、App設(shè)計(jì)、小程序開發(fā)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容