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

SpringBoot中的Profile多環(huán)境配置方法

 更新時(shí)間:2023年01月19日 09:09:08   作者:Tony_chenph  
這篇文章主要介紹了SpringBoot中的Profile多環(huán)境配置,SpringBoot提供了兩種多環(huán)境配置的方式,分別是使用profile文件進(jìn)行多環(huán)境配置以及使用@Profile注解進(jìn)行多環(huán)境配置,需要的朋友可以參考下

Profile多環(huán)境配置

      在實(shí)際開(kāi)發(fā)中,應(yīng)用程序通常需要部署到不同的運(yùn)行環(huán)境中如開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境等。不同的環(huán)境可能使用不同的配置,如果每次部署都去手動(dòng)修改配置文件,顯然是一件非常麻煩的事。因此SpringBoot提供了兩種多環(huán)境配置的方式,分別是使用profile文件進(jìn)行多環(huán)境配置以及使用@Profile注解進(jìn)行多環(huán)境配置

激活環(huán)境配置方式

1、在控制臺(tái)運(yùn)行下列命令激活環(huán)境配置

java -jar xxx.jar --spring.profiles.active=proflieName

2、在全局配置文件application.properties中配置激活環(huán)境屬性(常用方式)

spring.profiles.active = proflieName

一、使用profile文件進(jìn)行多環(huán)境配置

使用profile文件進(jìn)行多環(huán)境配置時(shí),該配置文件名需要滿足application-{profile}.properties的格式,如下所示

application-{dev}.properties //開(kāi)發(fā)環(huán)境配置文件

application-{test}.properties //測(cè)試環(huán)境配置文件

application-{prod}.properties //生產(chǎn)環(huán)境配置文件

1、在resource目錄下分別創(chuàng)建application-dev.properties、application-test.properties、application-prod.properties多環(huán)境文件,并在各個(gè)配置文件中對(duì)服務(wù)端口進(jìn)行不同的設(shè)置,示例如下

application-dev.properties --->server.port=8081

application-test.properties --->server.port=8082

application-prod.properties --->server.port=8083

2、在application.properties中指定要激活的多環(huán)境配置文件

#指定要激活的profiles多環(huán)境配置為dev的配置
spring.profiles.active=dev
#指定要激活的profiles多環(huán)境配置為test的配置
#spring.profiles.active=test
#指定要激活的profiles多環(huán)境配置為prod的配置
#spring.profiles.active=prod

3、啟動(dòng)SpringBoot啟動(dòng)類

從運(yùn)行結(jié)果中可以看到,Tomcat已經(jīng)被修改為我們?cè)赼pplication-dev.properties中配置的8081(默認(rèn)為8080)

二、使用@Profile注解進(jìn)行多環(huán)境配置

@Profile注解主要作用于類,并通過(guò)value屬性指定配置環(huán)境,等同于Profile文件application-{profile}.properties名稱中的profile值,使用@Profile注解配置文件同樣需要在全局文件中激活

與@Configuration搭配使用

1、在config包下創(chuàng)建datasource包,在該包下創(chuàng)建一個(gè)接口DBConnector

package com.chen.config.datasource;
?
public interface DBConnector {
    public void dataConfig();
}

2、在detasource包下創(chuàng)建impl包,用于管理DBConnector的實(shí)現(xiàn)類

在該包下創(chuàng)建三個(gè)實(shí)現(xiàn)類分別DevDBConnector,TestDBConnector,ProdDBConnector

package com.chen.config.datasource.impl;
?
import com.chen.config.datasource.DBConnector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
?
@Configuration// 表明當(dāng)前類為一個(gè)配置類,保證SpringBoot可以自動(dòng)掃描并識(shí)別
@Profile("dev")//指定多環(huán)境配置類標(biāo)識(shí)
public class DevDBConnector implements DBConnector {
    @Override
    public void dataConfig() {
        System.out.println("開(kāi)發(fā)環(huán)境");
    }
}
package com.chen.config.datasource.impl;
?
import com.chen.config.datasource.DBConnector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
?
@Configuration// 表明當(dāng)前類為一個(gè)配置類,保證SpringBoot可以自動(dòng)掃描并識(shí)別
@Profile("test")//指定多環(huán)境配置類標(biāo)識(shí)
public class TestDBConnector implements DBConnector {
    @Override
    public void dataConfig() {
        System.out.println("測(cè)試環(huán)境");
    }
}
package com.chen.config.datasource.impl;
?
import com.chen.config.datasource.DBConnector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
?
@Configuration// 表明當(dāng)前類為一個(gè)配置類,保證SpringBoot可以自動(dòng)掃描并識(shí)別
@Profile("prod")//指定多環(huán)境配置類標(biāo)識(shí)
public class ProdDBConnector implements DBConnector {
    @Override
    public void dataConfig() {
        System.out.println("生產(chǎn)環(huán)境");
    }
}

3、在application.properties中指定要激活的多環(huán)境配置文件

#指定要激活的profiles多環(huán)境配置為dev的配置
spring.profiles.active=dev
#指定要激活的profiles多環(huán)境配置為test的配置
#spring.profiles.active=test
#指定要激活的profiles多環(huán)境配置為prod的配置
#spring.profiles.active=prod

4、編寫(xiě)測(cè)試類

import com.chen.config.datasource.DBConnector;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
?
?
@RunWith(SpringRunner.class)
@SpringBootTest
public class datasourceTest {
    @Autowired
    private DBConnector dbConnector;
?
    @Test
    public void testDataSource(){
        dbConnector.dataConfig();
    }
}

5、運(yùn)行測(cè)試類

可以看到啟動(dòng)端口好為Profile文件配置的dev中8081

也調(diào)用了@Profile("dev")中的輸出信息

項(xiàng)目結(jié)構(gòu)

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

相關(guān)文章

  • IDEA 2020.2 部署JSF項(xiàng)目的詳細(xì)過(guò)程

    IDEA 2020.2 部署JSF項(xiàng)目的詳細(xì)過(guò)程

    本文通過(guò)圖文并茂的形式教大家如何在IDEA中創(chuàng)建一個(gè)JSF項(xiàng)目及遇到問(wèn)題的解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • elasticsearch的zenDiscovery和master選舉機(jī)制原理分析

    elasticsearch的zenDiscovery和master選舉機(jī)制原理分析

    這篇文章主要介紹了elasticsearch的zenDiscovery和master選舉機(jī)制原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • java秒殺系統(tǒng)常見(jiàn)問(wèn)題庫(kù)存超賣解決實(shí)例分析

    java秒殺系統(tǒng)常見(jiàn)問(wèn)題庫(kù)存超賣解決實(shí)例分析

    這篇文章主要為大家介紹了java秒殺系統(tǒng)常見(jiàn)問(wèn)題庫(kù)存超賣解決實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java實(shí)現(xiàn)文件的分割與合并

    Java實(shí)現(xiàn)文件的分割與合并

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件的分割與合并,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解servlet配置load-on-startup的作用

    詳解servlet配置load-on-startup的作用

    本文對(duì)load-on-startup的相關(guān)內(nèi)容作了詳細(xì)介紹,然后通過(guò)具體實(shí)例向大家展示了其作用,希望可以給大家一個(gè)參考。
    2017-09-09
  • java復(fù)制文件和java移動(dòng)文件的示例分享

    java復(fù)制文件和java移動(dòng)文件的示例分享

    本文主要介紹了java將文件夾下面的所有的jar文件拷貝到指定的文件夾下面的方法,需要的朋友可以參考下
    2014-02-02
  • Java可重入鎖的實(shí)現(xiàn)示例

    Java可重入鎖的實(shí)現(xiàn)示例

    在java中,可重入鎖分為兩種,即synchronized鎖以及ReentrantLock及其實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 如何使用try-with-resource機(jī)制關(guān)閉連接

    如何使用try-with-resource機(jī)制關(guān)閉連接

    這篇文章主要介紹了使用try-with-resource機(jī)制關(guān)閉連接的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 詳解Spring中Lookup注解的使用

    詳解Spring中Lookup注解的使用

    我們知道在spring容器中單獨(dú)的一個(gè)抽象類是不能成為一個(gè)bean的,那么有沒(méi)有辦法呢?這個(gè)時(shí)候我們可以使用Lookup注解,下面跟隨小編看下Spring中Lookup注解的使用
    2021-10-10
  • Redisson可重入鎖解鎖邏輯詳細(xì)講解

    Redisson可重入鎖解鎖邏輯詳細(xì)講解

    Redisson開(kāi)源框架是一個(gè)Redis的分布式鎖的現(xiàn)成實(shí)現(xiàn)方案,是Redis的java實(shí)現(xiàn)的客戶端。通過(guò)Netty支持非阻塞I/O。Redisson實(shí)現(xiàn)了分布式鎖的自動(dòng)續(xù)期機(jī)制、鎖的互斥自等待機(jī)制、鎖的可重入加鎖與釋放鎖的機(jī)制
    2023-02-02

最新評(píng)論