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

SpringBoot多環(huán)境切換的配置實(shí)現(xiàn)

 更新時(shí)間:2024年03月11日 10:31:46   作者:阿Q說(shuō)代碼  
在日常的開(kāi)發(fā)中,一般都會(huì)分好幾種環(huán)境,本文就來(lái)介紹一下SpringBoot多環(huán)境切換的配置實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

在日常的開(kāi)發(fā)中,一般都會(huì)分好幾種環(huán)境,比如通常的

  • 開(kāi)發(fā)環(huán)境:一般在開(kāi)發(fā)的過(guò)程中,一個(gè)比較隨意地環(huán)境,通??梢噪S意重啟,刪除數(shù)據(jù) ;
  • 測(cè)試環(huán)境:面向測(cè)試同學(xué)的環(huán)境,需要相對(duì)穩(wěn)定,完整,基本模擬線上的環(huán)境,但是可操作。
  • 生產(chǎn)環(huán)境:也就是線上環(huán)境,基本沒(méi)有什么大的問(wèn)題不會(huì)操作的環(huán)境,是重中之重。

在三個(gè)環(huán)境都需要部署,怎么樣保證多個(gè)環(huán)境的配置正確,開(kāi)發(fā)方便,部署方便,這篇總結(jié)下

profile 的使用

profile 為在不同環(huán)境下使用不同的配置提供了支持,我們可以通過(guò)激活、指定參數(shù)等方式快速切換環(huán)境。多 Profile 文件方式 Spring Boot 的配置文件共有兩種形式:.properties 文件和 .yml 文件,不管哪種形式,它們都能通過(guò)文件名的命名形式區(qū)分出不同的環(huán)境的配置,

文件命名格式為:application-{profile}.properties/yml

其中,{profile} 一般為各個(gè)環(huán)境的名稱或簡(jiǎn)稱,

例如 dev、test 和 prod 等等。當(dāng)然也可以使用自定義的一些名字。

個(gè)人比較習(xí)慣yml的配置,更方便閱讀,結(jié)構(gòu)明確。

激活 profile 的方式

命令行啟動(dòng)

java -jar target/demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

idea 中配置

idea 中編輯啟動(dòng)參數(shù),添加 vm 選項(xiàng)-Dspring.profiles.active=test注:這種方式和上面一樣

在這里插入圖片描述

配置文件中激活

創(chuàng)建 3 個(gè)配置文件,通過(guò)主配置文件激活環(huán)境(不靈活)

application.yml
application-dev.yml
application-test.yml

application.yml .主配置文件可以向下面這樣寫。

spring:
  profiles:
    active: dev

開(kāi)發(fā)中最靈活的多環(huán)境配置

創(chuàng)建四個(gè)配置

application.yml
application-dev.yml
application-test.yml
application-prod.yml

主配置文件

application.yml #主配置文件

spring:
  profiles:
    active: ${ENV:dev}

注意:這里加了一個(gè)環(huán)境變量 ENV,在啟動(dòng)的時(shí)候進(jìn)行注入,如果不寫,默認(rèn)啟動(dòng) dev 環(huán)境

其他幾個(gè)環(huán)境配置

application-dev.yml #開(kāi)發(fā)環(huán)境的配置

server:
  port: 8091

application-test.yml #測(cè)試環(huán)境的配置

server:
  port: 8092

application-prod.yml #生產(chǎn)環(huán)境的配置

server:
  port: ${PORT:8093}

注:這三個(gè)環(huán)境配置,只在其中的 prod 環(huán)境使用了環(huán)境變量application-xxx.yml。 在后續(xù)使用prod的時(shí)候可以根據(jù)環(huán)境設(shè)置環(huán)境變量賦值配置。

相同的配置會(huì)覆蓋 application.yml的配置

使用方式

1.在開(kāi)發(fā)環(huán)境,可以寫死測(cè)試環(huán)境,開(kāi)發(fā)環(huán)境的配置,避免在開(kāi)發(fā)傳環(huán)境變量,激活什么的

2.在生產(chǎn)環(huán)境,可以通過(guò)環(huán)境變量 ENV=prod 激活生產(chǎn)環(huán)境的變量配置, idea 傳遞環(huán)境變量如下圖

在這里插入圖片描述

3.docker 環(huán)境啟動(dòng)時(shí)候通過(guò) env 設(shè)置環(huán)境變量docker run -itd --env ENV=prod test.jar

4.docker-compose

在這里插入圖片描述

配置文件拆分

配置文件支持將將配置進(jìn)行拆分到不同的配置文件 如果多個(gè)環(huán)境擁有相同的配置,有兩種解決辦法

  • 提取到application.yml

  • 分離一個(gè)新的application-default_handler.yml

第一種情況可以針對(duì) springboot 的一些通用配置

第二種適合一些業(yè)務(wù)的配置相關(guān),比如項(xiàng)目中有一些自定義的配置,在三個(gè)環(huán)境都適合,就可以分離開(kāi)

spring:
  profiles:
    active: ${ENV:dev}
    include: default_handler

只要 application-default_handler.yml 符合 yaml 的格式,項(xiàng)目中一樣可以加載到

總結(jié)

  • 靈活使用環(huán)境變量啟用不同的 profile
  • 靈活使用 spring.profiles.include 激活多個(gè)配置
  • 最后 application.properties 和 application.yml 是一樣的使用方法
  • 如果你使用 nacos 也可以實(shí)現(xiàn)同樣的效果,但是需要引入中間件,不推薦

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

相關(guān)文章

  • Java使用Geodesy進(jìn)行地理計(jì)算的技術(shù)指南

    Java使用Geodesy進(jìn)行地理計(jì)算的技術(shù)指南

    在地理信息系統(tǒng) (GIS) 和導(dǎo)航應(yīng)用中,精確的地理計(jì)算是基礎(chǔ),Geodesy 是一個(gè)流行的 Java 庫(kù),用于處理地理位置、距離、方向等相關(guān)計(jì)算,本博客將介紹 Geodesy 的核心功能,并提供詳細(xì)的實(shí)踐樣例,幫助開(kāi)發(fā)者快速上手,需要的朋友可以參考下
    2025-02-02
  • 淺析Java中接口和抽象類的七大區(qū)別

    淺析Java中接口和抽象類的七大區(qū)別

    Java 是一門面向?qū)ο蟮木幊陶Z(yǔ)言,面向?qū)ο蟮木幊陶Z(yǔ)言有四大特征:抽象、封裝、繼承和多態(tài)。本文介紹的接口和抽象類就是面向?qū)ο缶幊讨小俺橄蟆钡木唧w實(shí)現(xiàn)。本文也將為大家詳細(xì)講一下二者的區(qū)別,需要的可以參考一下
    2021-12-12
  • IntelliJ IDEA Project窗口的一些設(shè)置詳解

    IntelliJ IDEA Project窗口的一些設(shè)置詳解

    這篇文章主要介紹了IntelliJ IDEA Project窗口的一些設(shè)置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java String類正則操作示例

    Java String類正則操作示例

    這篇文章主要介紹了Java String類正則操作,結(jié)合實(shí)例形式分析了java針對(duì)數(shù)字的正則驗(yàn)證、過(guò)濾及郵箱正則驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Java多線程并發(fā)synchronized?關(guān)鍵字

    Java多線程并發(fā)synchronized?關(guān)鍵字

    這篇文章主要介紹了Java多線程并發(fā)synchronized?關(guān)鍵字,Java?在虛擬機(jī)層面提供了?synchronized?關(guān)鍵字供開(kāi)發(fā)者快速實(shí)現(xiàn)互斥同步的重量級(jí)鎖來(lái)保障線程安全。
    2022-06-06
  • SpringBoot項(xiàng)目配置數(shù)據(jù)庫(kù)密碼加密相關(guān)代碼

    SpringBoot項(xiàng)目配置數(shù)據(jù)庫(kù)密碼加密相關(guān)代碼

    這篇文章主要介紹了SpringBoot項(xiàng)目配置數(shù)據(jù)庫(kù)密碼加密的相關(guān)資料,本文介紹了在Springboot項(xiàng)目中配置數(shù)據(jù)庫(kù)連接時(shí)存在的安全問(wèn)題,即用戶名和密碼以明文形式存儲(chǔ),容易泄露,提出了一種簡(jiǎn)單的加密方案,需要的朋友可以參考下
    2024-11-11
  • Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法

    Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法

    今天小編就為大家分享一篇關(guān)于Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • SpringBoot入坑筆記之spring-boot-starter-web 配置文件的使用

    SpringBoot入坑筆記之spring-boot-starter-web 配置文件的使用

    本篇向小伙伴介紹springboot配置文件的配置,已經(jīng)全局配置參數(shù)如何使用的。需要的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-01-01
  • Java通過(guò)反射查看類的信息示例

    Java通過(guò)反射查看類的信息示例

    這篇文章主要介紹了Java通過(guò)反射查看類的信息,結(jié)合實(shí)例形式詳細(xì)分析了java基于反射獲取類信息的相關(guān)原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配

    SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配

    這篇文章主要介紹了SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10

最新評(píng)論

砀山县| 土默特右旗| 清水县| 全椒县| 黄浦区| 平塘县| 迭部县| 洛阳市| 仁怀市| 鹤壁市| 雅安市| 临邑县| 历史| 弋阳县| 师宗县| 克拉玛依市| 叙永县| 通州区| 舒兰市| 开原市| 察哈| 静乐县| 宜阳县| 松潘县| 馆陶县| 丰镇市| 庄浪县| 雅安市| 仙居县| 连南| 丘北县| 澄迈县| 泰兴市| 福贡县| 同江市| 安义县| 泗水县| 玉田县| 揭阳市| 赤峰市| 吉首市|