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

SpringBoot多環(huán)境切換的靈活配置詳細(xì)教程

 更新時(shí)間:2024年04月03日 10:59:02   作者:阿Q說(shuō)代碼  
在真實(shí)項(xiàng)目開(kāi)發(fā)的時(shí)候,一定會(huì)有多個(gè)環(huán)境,下面這篇文章主要給大家介紹了關(guān)于SpringBoot多環(huán)境切換靈活配置的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

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

  • 開(kāi)發(fā)環(huán)境:一般在開(kāi)發(fā)的過(guò)程中,一個(gè)比較隨意地環(huán)境,通常可以隨意重啟,刪除數(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)境的名稱(chēng)或簡(jiǎn)稱(chēng),

例如 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 .主配置文件可以向下面這樣寫(xiě)。

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)行注入,如果不寫(xiě),默認(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)境,可以寫(xiě)死測(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)境切換的靈活配置的文章就介紹到這了,更多相關(guān)SpringBoot多環(huán)境切換配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決springboot+activemq啟動(dòng)報(bào)注解錯(cuò)誤的問(wèn)題

    解決springboot+activemq啟動(dòng)報(bào)注解錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了解決springboot+activemq啟動(dòng)報(bào)注解錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • JAVA線程池專(zhuān)題(概念和作用)

    JAVA線程池專(zhuān)題(概念和作用)

    這篇文章主要介紹了Java線程池的概念和作用,文中講解非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • php 頁(yè)面之間傳值的三種方法實(shí)例代碼

    php 頁(yè)面之間傳值的三種方法實(shí)例代碼

    網(wǎng)站開(kāi)發(fā)過(guò)程中,我們經(jīng)常需要在不同頁(yè)面之間進(jìn)行值的傳遞。本文章向大家講解PHP頁(yè)面之間傳值的三種方法。需要的碼農(nóng)可以參考一下
    2016-10-10
  • JVM常用垃圾收集器及GC算法解讀

    JVM常用垃圾收集器及GC算法解讀

    這篇文章主要介紹了JVM常用垃圾收集器及GC算法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java多線程循環(huán)柵欄CyclicBarrier正確使用方法

    Java多線程循環(huán)柵欄CyclicBarrier正確使用方法

    這篇文章主要介紹了Java多線程循環(huán)柵欄CyclicBarrier正確使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 帶你入門(mén)java雪花算法原理

    帶你入門(mén)java雪花算法原理

    SnowFlake 算法,是 Twitter 開(kāi)源的分布式 id 生成算法。其核心思想就是:使用一個(gè) 64 bit 的 long 型的數(shù)字作為全局唯一 id。在分布式系統(tǒng)中的應(yīng)用十分廣泛,且ID 引入了時(shí)間戳,基本上保持自增的
    2021-06-06
  • java調(diào)用Restful接口的三種方法

    java調(diào)用Restful接口的三種方法

    本文主要介紹了java調(diào)用Restful接口的三種方法,主要包括HttpURLConnection實(shí)現(xiàn),HttpClient實(shí)現(xiàn)和Spring的RestTemplate,具有一定的參考,感興趣的可以了解一下    
    2021-08-08
  • 如何通過(guò)源碼了解Java的自動(dòng)裝箱拆箱詳解

    如何通過(guò)源碼了解Java的自動(dòng)裝箱拆箱詳解

    裝箱就是把基本類(lèi)型轉(zhuǎn)換成包裝類(lèi),拆箱就是把包裝類(lèi)轉(zhuǎn)換成基本類(lèi)型,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)源碼了解Java的自動(dòng)裝箱拆箱的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 解決RestTemplate第一次請(qǐng)求響應(yīng)速度較慢的問(wèn)題

    解決RestTemplate第一次請(qǐng)求響應(yīng)速度較慢的問(wèn)題

    這篇文章主要介紹了解決RestTemplate第一次請(qǐng)求響應(yīng)速度較慢的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • MyBatis多對(duì)多關(guān)聯(lián)映射創(chuàng)建示例

    MyBatis多對(duì)多關(guān)聯(lián)映射創(chuàng)建示例

    這篇文章主要為大家介紹了MyBatis多對(duì)多關(guān)聯(lián)映射的創(chuàng)建示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評(píng)論