最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot多種環(huán)境自由切換的實(shí)現(xiàn)

 更新時(shí)間:2021年08月13日 09:23:52   作者:Java技術(shù)那些事  
本文主要介紹了SpringBoot多種環(huán)境自由切換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

yml配置文件很好用,但是實(shí)際生產(chǎn)中會(huì)有很多問(wèn)題。

  • 測(cè)試是一套配置,生產(chǎn)是一套配置;不同人開(kāi)發(fā)不同的模塊,共用一個(gè)yml文件容易發(fā)生沖突;
  • 本地開(kāi)發(fā)需要本地化配置調(diào)試,本節(jié)咱們就把這些頭疼的問(wèn)題統(tǒng)統(tǒng)解決掉。

首先我們建立一個(gè)工程,將application.properties文件后綴改成application.yml

name: 張三
lesson: springboot
desc: ${name}同學(xué)正在努力學(xué)習(xí)${lesson}!!! #占位符

DemoController.java

@RestController
@RequestMapping("demo")
public class DemoController {
 
    @Resource
    private YmlData ymlData;
 
    @GetMapping("test")
    public void test() throws JsonProcessingException {
        System.out.println(ymlData.getDesc());
    }
}

YmlData.java

@Data
@Component
public class YmlData {
 
    @Value("${name}")
    private String name;
    @Value("${lesson}")
    private String lesson;
    @Value("${desc}")
    private String desc;
}

瀏覽器請(qǐng)求下http://localhost:8080/demo/test 看看控制臺(tái),亂碼

設(shè)置編碼格式,ide-->file-->setting-->editor-->file encodings

設(shè)置完成后application.yml徹底亂碼了,重新輸入,改完重啟,再請(qǐng)求一次,控制臺(tái)輸出:

張三正在努力學(xué)習(xí)springboot!!!

這些跟多環(huán)境配置有什么關(guān)系?

 

application-prod.yml

name: 張三prod
lesson: springboot
desc: ${name}正在努力學(xué)習(xí)${lesson}!!!

application-dev.yml

name: 張三dev
lesson: springboot
desc: ${name}正在努力學(xué)習(xí)${lesson}!!!

application.yml

spring:
  profiles:
    active: dev #多環(huán)境變量的精髓,這里確定是加載哪個(gè)配置文件?。?!

好了,現(xiàn)在重啟,在執(zhí)行一次請(qǐng)求,控制臺(tái)輸出的是什么?

張三dev正在努力學(xué)習(xí)springboot!!!

那在調(diào)試的時(shí)候是否可以選擇加載哪個(gè)配置文件呢?,按下圖所示操作

重啟,看看現(xiàn)在打印的是什么?

張三prod正在努力學(xué)習(xí)springboot!!!

再增加一個(gè)application-test.yml

name: 張三test

修改application.yml如下:

spring:
  profiles:
    include: test,prod #包含哪些配置
    active: dev #多環(huán)境變量的精髓,這里確定是加載哪個(gè)配置文件?。。?/pre>

重新啟動(dòng)工程看看打印出來(lái)什么?

張三prod正在努力學(xué)習(xí)springboot!!!

從結(jié)果我們可以看出,包含了include在內(nèi)的配置,且相同配置在include的文件中使用的最后一個(gè)生效的。

而active文件中即使具有相同的配置(本文中的name配置)也沒(méi)有被覆蓋,另外include中包含的配置文件沒(méi)有的配置,會(huì)在active中補(bǔ)充上來(lái)。

總結(jié)來(lái)說(shuō):include和active取并集,相同的配置以include中的最后一個(gè)為準(zhǔn)!

到此這篇關(guān)于SpringBoot多種環(huán)境自由切換的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot 環(huán)境切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作

    Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作

    大家好,本篇文章主要講的是Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • Spring MVC中使用Controller如何進(jìn)行重定向

    Spring MVC中使用Controller如何進(jìn)行重定向

    這篇文章主要介紹了Spring MVC中使用Controller如何進(jìn)行重定向操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • IDEA強(qiáng)制清除Maven緩存的方法示例

    IDEA強(qiáng)制清除Maven緩存的方法示例

    這篇文章主要介紹了IDEA強(qiáng)制清除Maven緩存的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Spring Security登錄接口兼容JSON格式登錄實(shí)現(xiàn)示例

    Spring Security登錄接口兼容JSON格式登錄實(shí)現(xiàn)示例

    前后端分離中,前端和后端的數(shù)據(jù)交互通常是JSON格式,本文主要介紹了Spring Security登錄接口兼容JSON格式登錄實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • SpringBoot中如何進(jìn)行全局異常處理方式

    SpringBoot中如何進(jìn)行全局異常處理方式

    在SpringBoot開(kāi)發(fā)過(guò)程中,全局異常處理能提高程序的魯棒性并降低代碼耦合,通過(guò)使用@RestControllerAdvice和@ExceptionHandler注解,可以實(shí)現(xiàn)對(duì)程序異常的全局?jǐn)r截和處理,首先需要自定義一個(gè)繼承自ResponseEntityExceptionHandler的異常處理類
    2024-11-11
  • JVM分配和回收堆外內(nèi)存的方式與注意點(diǎn)

    JVM分配和回收堆外內(nèi)存的方式與注意點(diǎn)

    JVM啟動(dòng)時(shí)分配的內(nèi)存稱為堆內(nèi)存,與之相對(duì)的,在代碼中還可以使用堆外內(nèi)存,比如Netty,廣泛使用了堆外內(nèi)存,下面這篇文章主要給大家介紹了關(guān)于JVM分配和回收堆外內(nèi)存的方式與注意點(diǎn),需要的朋友可以參考下
    2022-07-07
  • mybatis-plus多表查詢操作方法

    mybatis-plus多表查詢操作方法

    這篇文章主要介紹了mybatis-plus多表查詢操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • springboot jpa 延遲加載問(wèn)題的2種解決

    springboot jpa 延遲加載問(wèn)題的2種解決

    這篇文章主要介紹了springboot jpa 延遲加載問(wèn)題的2種解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Mybatis分頁(yè)的實(shí)現(xiàn)及使用注解開(kāi)發(fā)操作

    Mybatis分頁(yè)的實(shí)現(xiàn)及使用注解開(kāi)發(fā)操作

    這篇文章主要介紹了Mybatis分頁(yè)的實(shí)現(xiàn)及使用注解開(kāi)發(fā)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java的反射機(jī)制之獲取class詳解

    Java的反射機(jī)制之獲取class詳解

    這篇文章主要介紹了Java的反射機(jī)制之獲取class詳解,Class類表示一個(gè)類或接口的元數(shù)據(jù),通過(guò)它可以獲取到類或接口的構(gòu)造函數(shù)、方法、字段、注解等信息,也能夠創(chuàng)建對(duì)象、調(diào)用方法等,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

门头沟区| 西乌珠穆沁旗| 揭阳市| 齐河县| 普兰店市| 临朐县| 衡南县| 饶阳县| 合作市| 白山市| 祁门县| 进贤县| 柳江县| 阳山县| 平舆县| 元谋县| 白沙| 承德市| 新民市| 互助| 汤原县| 阿城市| 额敏县| 祁阳县| 大庆市| 宁夏| 吴忠市| 静宁县| 贵阳市| 新津县| 会东县| 滨州市| 常州市| 资阳市| 紫金县| 江源县| 仪陇县| 项城市| 寿阳县| 紫阳县| 黄冈市|