溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spring Profile如何為不同環(huán)境提供不同的配置支持

發(fā)布時間:2020-08-19 17:03:31 來源:腳本之家 閱讀:113 作者:JonRain0625 欄目:編程語言

說明

Profile為在不同環(huán)境下使用不同的配置提供了支持(開發(fā)環(huán)境下的配置和生產(chǎn)環(huán)境下的配置肯定是不同的, 例如, 數(shù)據(jù)庫的配置) 。 在spring開發(fā)中用@Profile 注解使用來選擇行配置系統(tǒng)屬性。而在spring boot 中使用跟方便。

傳統(tǒng)的spring Profile使用

參考《javaEE 發(fā)開的顛覆者》主要結(jié)合 @Configuration @Bean 注解使用 如下代碼 :

@Configuration //聲明注解類
public class ProfileConfig {@Bean@Profile("dev") //1 
  public DemoBean devDemoBean() {
    return new DemoBean("from development profile");
  }@Bean@Profile("prod") //2public DemoBean prodDemoBean() {
  return new DemoBean("from production profile");
}
public class Main {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        context.getEnvironment().setActiveProfiles("prod"); //1 獲取容器注入環(huán)境配置 ,prodDemoBean 方法,如果設(shè)置的是“Ddev” 運行DevDemoBean方法 。
        context.register(ProfileConfig.class); //2
        context.refresh(); //3
        DemoBean demoBean = context.getBean(DemoBean.class);
        System.out.println(demoBean.getContent());
        context.close();
    }
}

spring boot 方法中使用:

對不同環(huán)境提供不同配置功能的支持,可以通過激活、指定參數(shù)等方式快速切換環(huán)境

1、多profile文件形式:application-{profile}.properties/yml

spring 的配置文件有兩種形式 一種是properties 文件 ,一種是 yml 文件 ,不管哪一種都可以用文件命名的形式區(qū)分不同環(huán)境的配置 如:

開發(fā)環(huán)境 :application-dev.properties

生產(chǎn)環(huán)境:application-prod.properties

然后在 application.properties 文件中激活,當(dāng)前的環(huán)境 :spring.frofiles.active = dev ,激活開發(fā)環(huán)境

2.多profile文檔塊模式: 這個只針對yml文件格式 ,方便寫在一個文件中 ,如下圖

spring Profile如何為不同環(huán)境提供不同的配置支持

3.激活方式:

  • – 命令行 --spring.profiles.active=dev
  • – 配置文件 spring.profiles.active=dev
  • – jvm參數(shù) –Dspring.profiles.active=dev

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI