spring Profile如何為不同環(huán)境提供不同的配置支持
說明
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文件格式 ,方便寫在一個文件中 ,如下圖
3.激活方式:
- – 命令行 --spring.profiles.active=dev
- – 配置文件 spring.profiles.active=dev
- – jvm參數(shù) –Dspring.profiles.active=dev
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
idea hibernate jpa 生成實體類的實現(xiàn)
這篇文章主要介紹了idea hibernate jpa 生成實體類的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11SpringBoot整合Jasypt實現(xiàn)配置加密的步驟詳解
Jasypt是一個Java庫,提供了一種簡單的加密解密方式,可用于保護(hù)敏感數(shù)據(jù),例如密碼、API密鑰和數(shù)據(jù)庫連接信息等,本文給大家介紹了SpringBoot整合Jasypt實現(xiàn)配置加密的詳細(xì)步驟,感興趣的同學(xué)可以參考一下2023-11-11spring boot實現(xiàn)profiles動態(tài)切換的示例
Spring Boot支持在不同的環(huán)境下使用不同的配置文件,該技術(shù)非常有利于持續(xù)集成,在構(gòu)建項目的時候只需要使用不同的構(gòu)建命令就可以生成不同運行環(huán)境下war包,而不需要手動切換配置文件。2020-10-10redisson.tryLock()參數(shù)的使用及理解
這篇文章主要介紹了redisson.tryLock()參數(shù)的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Java Class.forName()用法和newInstance()方法原理解析
這篇文章主要介紹了Java Class.forName()用法和newInstance()方法原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08詳解關(guān)于Windows10 Java環(huán)境變量配置問題的解決辦法
這篇文章主要介紹了關(guān)于Windows10 Java環(huán)境變量配置問題的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03