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

spring.profiles使用的方法步驟

 更新時間:2023年07月21日 09:13:37   作者:wh柒八九  
本文主要介紹了spring.profiles使用與spring.profiles.active和spring.profiles.include區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文來說下spring.profiles.active和spring.profiles.include的使用與區(qū)別

業(yè)務(wù)場景

我們在開發(fā)Spring Boot應(yīng)用時,通常同一套程序會被應(yīng)用和安裝到幾個不同的環(huán)境,比如:開發(fā)、測試、生產(chǎn)等。其中每個環(huán)境的數(shù)據(jù)庫地址、服務(wù)器端口等等配置都會不同,如果在為不同環(huán)境打包時都要頻繁修改配置文件的話,那必將是個非常繁瑣且容易發(fā)生錯誤的事。

對于多環(huán)境的配置,各種項目構(gòu)建工具或是框架的基本思路是一致的,通過配置多份不同環(huán)境的配置文件,再通過打包命令指定需要打包的內(nèi)容之后進行區(qū)分打包,Spring Boot也不例外,或者說更加簡單。

spring.profiles.active屬性

一個好方法就是創(chuàng)建不同的配置文件,且命名規(guī)則遵循application-${profile}.yml,例如:

  • 開發(fā)環(huán)境配置文件:application-dev.yml
  • 測試環(huán)境配置文件:application-test.yml
  • 生產(chǎn)環(huán)境配置文件:application-prod.yml

當然,我們不能刪除項目最頂層的application.yml配置,在該文件中,根據(jù)部署場景不同,切換不同的配置文件:配置spring.profiles.active,屬性值為${profile}。

spring.profiles.active=dev:啟用application-dev.yml
spring.profiles.active=test:啟用application-test.yml
spring.profiles.active=prod:啟用application-prod.yml

啟動時指定

在執(zhí)行有參啟動時,可以在命令中進行指定要選用的配置文件,例如:java -jar xx.jar --spring.profiles.active=test

這個命令的優(yōu)先級是最高的,即使application.yml中已經(jīng)配置spring.profiles.active=dev,最終程序還是會用application-test.yml配置文件。

spring.profiles.include屬性

再進一步,對于開發(fā)環(huán)境,想用不同的配置文件存儲開發(fā)環(huán)境不同的配置,例如:

  • application-dev1.yml中存儲jdbc信息
  • application-dev2.yml中存儲ip、端口信息

即在啟用application-dev.yml開發(fā)環(huán)境(主)配置文件時,同時啟用application-dev1.yml和application-dev2.yml。

那么,可以使用spring.profiles.include屬性:同時啟用其他的profile

配置方法

若是properties文件:spring.profiles.include=dev1,dev2

若是yaml文件中,spring.profiles.include:
-dev1
-dev2
或者:spring.profiles.include:dev1,dev2

配置位置

  • 配置方式一:application.properties中,配置spring.profiles.active=dev的同時指定spring.profiles.include=dev1,dev2
  • 配置方式二:application.properties中,配置spring.profiles.active=dev,application-dev.properties中,配置spring.profiles.include=dev1,dev2。使用application-dev.properties時自動就激活了dev1、dev2兩個文件,不用再次指定。(個人認為第二種方法更好)

配置區(qū)別

  • 第一種方式啟動時,控制臺打印The following profiles are active:dev1,dev2,dev
  • 第二種方式啟動時,控制臺打印The following profiles are active:dev, dev1,dev2

按照順序,后面的覆蓋前面的。

用示例來使用和區(qū)分

application.yml配置:

server:
  port: 8088
#激活的是開發(fā)環(huán)境配置文件
spring:
    profiles:
       active: dev

application-dev.yml配置:

server:
  port: 8089
#同時觸發(fā)dev1和dev2的激活
spring:
  profiles:
    include: dev1,dev2

application-dev1.yml配置:

server:
  port: 8090

application-dev2.yml配置:

server:
  port: 8091

application-prod.yml配置:

server:
  port: 9088
#同時觸發(fā)prod1和prod2的激活
spring:
  profiles:
    include: prod1,prod2

application-prod1.yml配置:

server:
  port: 9089

application-prod2.yml配置:

server:
  port: 9090

測試一

在application.yml配置文件中,指定

#激活的是開發(fā)環(huán)境配置文件
spring:
    profiles:
       active: dev

啟動時不指定參數(shù)

啟動dev2中的8091端口

測試二

在測試一的基礎(chǔ)上,啟動時指定參數(shù):–spring.profiles.active=prod。優(yōu)先級最高,會使用生產(chǎn)環(huán)境配置文件

啟動結(jié)果

測試三

在application.yml配置文件中,指定

#激活的是開發(fā)環(huán)境配置文件
spring:
    profiles:
       active: dev
       include: dev1,dev2

啟動結(jié)果

編寫程序查看激活的yml文件

編寫程序查看激活的yml文件

package com.wideth;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
@Slf4j
@SpringBootApplication
public class AppApplication {
    public static void main(String[] args) {
        try {
            ApplicationContext ctx = SpringApplication.run
            (AppApplication.class, args);
            String[] activeProfiles = ctx.getEnvironment().
            getActiveProfiles();
            for (String profile : activeProfiles) {
                log.warn("Spring Boot 使用profile為:{}" , profile);
            }
        } catch (Exception e) {
            log.error("啟動失?。?,e);
        }
    }
}

程序結(jié)果

本文小結(jié)

到此這篇關(guān)于spring.profiles使用的方法步驟的文章就介紹到這了,更多相關(guān)spring.profiles使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于SpringBoot實現(xiàn)自動裝配返回屬性的設(shè)計思路

    基于SpringBoot實現(xiàn)自動裝配返回屬性的設(shè)計思路

    這篇文章主要介紹了基于SpringBoot實現(xiàn)自動裝配返回屬性,這里涉及到的技術(shù)知識點有注解解析器,為什么用ResponseBodyAdvice這里解析?不在Filter,Interceptors,本文結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-03-03
  • 在navicat中導入mysql數(shù)據(jù)庫詳細步驟(即.sql后綴的數(shù)據(jù)庫)

    在navicat中導入mysql數(shù)據(jù)庫詳細步驟(即.sql后綴的數(shù)據(jù)庫)

    Navicat是MySQL非常好用的可視化管理工具,功能非常強大,能滿足我們?nèi)粘?shù)據(jù)庫開發(fā)的所有需求,下面這篇文章主要給大家介紹了關(guān)于如何在navicat中導入mysql數(shù)據(jù)庫(即.sql后綴的數(shù)據(jù)庫)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • MyBatisPlus項目的創(chuàng)建和使用

    MyBatisPlus項目的創(chuàng)建和使用

    本文介紹了MyBatis-Plus的基本使用方法,包括項目的創(chuàng)建和配置、增刪查改操作、日志打印以及條件構(gòu)造器的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • jmeter下載及安裝配置教程(win10平臺為例)

    jmeter下載及安裝配置教程(win10平臺為例)

    Apache?JMeter是Apache組織開發(fā)的基于Java的壓力測試工具,Apache?jmeter?可以用于對靜態(tài)的和動態(tài)的資源(文件,Servlet,Perl腳本,java?對象,數(shù)據(jù)庫和查詢,F(xiàn)TP服務(wù)器等等)的性能進行測試,本文給大家介紹jmeter下載及安裝配置過程,感興趣的朋友一起看看吧
    2021-12-12
  • SpringCloud配置客戶端ConfigClient接入服務(wù)端

    SpringCloud配置客戶端ConfigClient接入服務(wù)端

    這篇文章主要為大家介紹了SpringCloud配置客戶端ConfigClient接入服務(wù)端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Springboot中Instant時間傳參及序列化詳解

    Springboot中Instant時間傳參及序列化詳解

    這篇文章主要介紹了Springboot中Instant時間傳參及序列化詳解,Instant是Java8引入的一個精度極高的時間類型,可以精確到納秒,但實際使用的時候不需要這么高的精確度,通常到毫秒就可以了,需要的朋友可以參考下
    2023-11-11
  • zookeeper的watch機制原理解析

    zookeeper的watch機制原理解析

    Watcher,異步通知客戶端,并且刪除哈希表中對應(yīng)的 Key-Value,這篇文章主要介紹了zookeeper的watch機制詳細講解,需要的朋友可以參考下
    2022-06-06
  • Spring Boot中使用JSR-303實現(xiàn)請求參數(shù)校驗

    Spring Boot中使用JSR-303實現(xiàn)請求參數(shù)校驗

    這篇文章主要介紹了Spring Boot中使用JSR-303實現(xiàn)請求參數(shù)校驗,JSR-303校驗我們一般都是對Java的實體類對象進行校驗,主要檢驗JSR-303是Java中的一個規(guī)范,用于實現(xiàn)請求參數(shù)校驗在我們的實體類對象的屬性上,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Java中如何利用Set判斷List集合中是否有重復(fù)元素

    Java中如何利用Set判斷List集合中是否有重復(fù)元素

    在開發(fā)工作中,我們有時需要去判斷List集合中是否含有重復(fù)的元素,這時候我們不需要找出重復(fù)的元素,我們只需要返回一個?Boolean?類型就可以了,下面通過本文給大家介紹Java中利用Set判斷List集合中是否有重復(fù)元素,需要的朋友可以參考下
    2023-05-05
  • 詳解Spring-Cloud2.0之Feign調(diào)用遠程服務(wù)指南

    詳解Spring-Cloud2.0之Feign調(diào)用遠程服務(wù)指南

    這篇文章主要介紹了詳解Spring-Cloud2.0之Feign調(diào)用遠程服務(wù)指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論