欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot使用profile如何配置不同環(huán)境的配置文件

 更新時(shí)間:2018年01月12日 16:41:42   作者:賀小五  
,springboot支持通過(guò)不同的profile來(lái)配置不同環(huán)境的配置,下面就大致介紹一下yml配置文件跟properties配置文件怎么使用profile配置不同環(huán)境的配置文件

在springboot的開(kāi)發(fā)中,有時(shí)候我們會(huì)有不同的配置,例如日志打印,數(shù)據(jù)庫(kù)連接等,開(kāi)發(fā),測(cè)試,生產(chǎn)每個(gè)環(huán)境可能配置都不一致,還好,springboot支持通過(guò)不同的profile來(lái)配置不同環(huán)境的配置,下面就大致介紹一下yml配置文件跟properties配置文件怎么使用profile配置不同環(huán)境的配置文件...

先介紹一下開(kāi)發(fā)環(huán)境:

  1. jdk版本是1.8
  2. springboot的版本是1.4.1
  3. 開(kāi)發(fā)工具為 intellij idea

我們先來(lái)介紹,使用一個(gè)yml文件,通過(guò)不同的profile來(lái)配置屬性文件:

    1.首先,我們先創(chuàng)建一個(gè)名為 application.yml的屬性文件,如下:

    2.然后打開(kāi)文件,輸入一下內(nèi)容:

#查看springboot開(kāi)啟了哪些配置
debug: false
spring:
 profiles:
 active: dev
---
#開(kāi)發(fā)環(huán)境配置
spring:
 profiles: dev
server:
 port: 8080
---
#測(cè)試環(huán)境配置
spring:
 profiles: test
server:
 port: 8081
---
#生產(chǎn)環(huán)境配置
spring:
 profiles: pro
server:
 port: 8082

非常簡(jiǎn)單的配置,application.yml文件分為四部分,使用一組(---)來(lái)作為分隔符,第一部分,為通用配置部分,表示三個(gè)環(huán)境都通用的屬性,spring.profiles.active稍后解釋.

后面三段分別為,開(kāi)發(fā),測(cè)試,生產(chǎn),都用spring.profiles指定了一個(gè)值(開(kāi)發(fā)為dev,測(cè)試為test,生產(chǎn)為pro),這個(gè)值表示該段配置應(yīng)該用在哪個(gè)profile里面,

    PS:一定要注意!!一定要注意!!一定要注意!!所有屬性后面跟的value要跟 ":" 隔開(kāi)一個(gè)空格,否則,配置無(wú)效!!!配置無(wú)效!!!配置無(wú)效!!!我當(dāng)初就掉進(jìn)來(lái)了,在此告知各位,別跟我一樣掉進(jìn)來(lái)!!!

如果,我們是本地啟動(dòng),在通用配置里面,可以設(shè)置調(diào)用哪個(gè)環(huán)境的profile,也就是第一段的spring.profiles.active=XXX;

上面的XXX是每個(gè)環(huán)境的 spring.profiles對(duì)應(yīng)的value,通過(guò)這個(gè),可以控制本地啟動(dòng)調(diào)用哪個(gè)環(huán)境的配置文件,例如:

spring:

    profiles:

        active: dev

加載的,就是開(kāi)發(fā)環(huán)境的屬性,如果dev換成test,則會(huì)加載測(cè)試環(huán)境的屬性,生產(chǎn)也是如此,

PS:如果spring.profiles.active沒(méi)有指定值,那么只會(huì)使用沒(méi)有指定spring.profiles文件的值,也就是只會(huì)加載通用的配置

如果是部署到服務(wù)器的話,我們正常打成jar包,發(fā)布是時(shí)候,采用:

--spring.profiles.active=test或者pro 來(lái)控制加載哪個(gè)環(huán)境的配置,完整命令如下:

java -jar xxxxx.jar --spring.profiles.active=test  表示加載測(cè)試環(huán)境的配置

java -jar xxxxx.jar --spring.profiles.active=pro  表示加載生產(chǎn)環(huán)境的配置

上面介紹完了,我們本地啟動(dòng)一下,先將spring.profiles.active的值設(shè)置為dev,看看日志打印結(jié)果:

通過(guò)日志分析,可以看到,打印了profiles的值為dev,下面看看打印的端口號(hào)

發(fā)現(xiàn),端口號(hào)是8080說(shuō)明加載了dev的配置;

下面我們來(lái)試試把a(bǔ)ctive的值換成test,重啟看看:

active變成了test,

端口變?yōu)榱?081,說(shuō)明,加載的是test的配置,

接下來(lái),就是使用多個(gè)yml配置文件進(jìn)行配置屬性文件:

    如果是使用多個(gè)yml來(lái)配置屬性,我們則可以這么使用,通過(guò)與配置文件相同的明明規(guī)范,創(chuàng)建application-{profile}.yml文件,將于環(huán)境無(wú)關(guān)的屬性,放置到application.yml文件里面,可以通過(guò)這種形式來(lái)配置多個(gè)環(huán)境的屬性文件,在application.yml文件里面指定spring.profiles.active=profiles的值,來(lái)加載不同環(huán)境的配置,如果不指定,則默認(rèn)只使用application.yml屬性文件,不會(huì)加載其他的profiles的配置

使用properties配置多個(gè)環(huán)境配置文件

如果使用application.properties進(jìn)行多個(gè)環(huán)境的配置,原理跟使用多個(gè)yml配置文件一致,也是通過(guò)application-{profile}.properties來(lái)控制加載哪個(gè)環(huán)境的配置,將于環(huán)境無(wú)關(guān)的屬性,放置到application.properties文件里面,通過(guò)spring.profiles.active=profiles的值,加載不同環(huán)境的配置,如果不指定,則默認(rèn)加載application.properties的配置,不會(huì)加載帶有profile的配置

總結(jié)

以上所述是小編給大家介紹的Spring Boot使用profile如何配置不同環(huán)境的配置文件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Spring使用支付寶掃碼支付

    Spring使用支付寶掃碼支付

    這篇文章主要為大家詳細(xì)介紹了Spring使用支付寶掃碼支付的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java點(diǎn)餐小程序之黑心商人

    Java點(diǎn)餐小程序之黑心商人

    這篇文章主要介紹了一個(gè)Java編程的小程序-點(diǎn)餐系統(tǒng),算是對(duì)之前所學(xué)習(xí)的Java基礎(chǔ)知識(shí)作了一個(gè)匯總,需要的朋友可以參考下
    2017-09-09
  • MyBatis解決Update動(dòng)態(tài)SQL逗號(hào)的問(wèn)題

    MyBatis解決Update動(dòng)態(tài)SQL逗號(hào)的問(wèn)題

    這篇文章主要介紹了MyBatis解決Update動(dòng)態(tài)SQL逗號(hào)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring @Valid @Validated實(shí)現(xiàn)驗(yàn)證

    Spring @Valid @Validated實(shí)現(xiàn)驗(yàn)證

    這篇文章主要介紹了Spring @Valid @Validated實(shí)現(xiàn)驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 調(diào)用java.lang.Runtime.exec的正確姿勢(shì)分享

    調(diào)用java.lang.Runtime.exec的正確姿勢(shì)分享

    這篇文章主要介紹了調(diào)用java.lang.Runtime.exec的正確姿勢(shì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java生成excel報(bào)表文件示例

    java生成excel報(bào)表文件示例

    本篇文章主要介紹了java生成excel報(bào)表文件示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • 探討:使用httpClient在客戶端與服務(wù)器端傳輸對(duì)象參數(shù)的詳解

    探討:使用httpClient在客戶端與服務(wù)器端傳輸對(duì)象參數(shù)的詳解

    本篇文章是對(duì)使用httpClient在客戶端與服務(wù)器端傳輸對(duì)象參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 關(guān)于Redis鍵值出現(xiàn)\xac\xed\x00\x05t\x00&錯(cuò)誤的解決方法

    關(guān)于Redis鍵值出現(xiàn)\xac\xed\x00\x05t\x00&錯(cuò)誤的解決方法

    這篇文章主要介紹了關(guān)于Redis鍵值出現(xiàn)\xac\xed\x00\x05t\x00&的解決方法,出現(xiàn)該問(wèn)題的原因是, redis template向redis存放使用java對(duì)象序列化的值,序列化方式和string的一般方式不同,需要的朋友可以參考下
    2023-08-08
  • 解決SpringBoot使用@Value獲取不到y(tǒng)aml中配置值的問(wèn)題

    解決SpringBoot使用@Value獲取不到y(tǒng)aml中配置值的問(wèn)題

    在最近的開(kāi)發(fā)中遇到一個(gè)問(wèn)題,使用@Value獲取yml文件中配置的屬性時(shí)始終獲取不到值,所以本文給大家詳細(xì)介紹了SpringBoot使用@Value獲取不到y(tǒng)aml中值的問(wèn)題分析及解決方法,需要的朋友可以參考下
    2024-01-01
  • 詳解Java動(dòng)態(tài)代理的實(shí)現(xiàn)及應(yīng)用

    詳解Java動(dòng)態(tài)代理的實(shí)現(xiàn)及應(yīng)用

    這篇文章主要介紹了詳解Java動(dòng)態(tài)代理的實(shí)現(xiàn)及應(yīng)用的相關(guān)資料,希望通過(guò)本文大家能理解掌握J(rèn)ava動(dòng)態(tài)代理的使用方法,需要的朋友可以參考下
    2017-09-09

最新評(píng)論