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ā)開的顛覆者》主要結合 @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 方法,如果設置的是“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 文件中激活,當前的環(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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
java 定時器Timer和TimerTask的使用詳解(執(zhí)行和暫停)
這篇文章主要介紹了java 定時器Timer和TimerTask的使用詳解(執(zhí)行和暫停),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
SpringBoot整合Mybatis,解決TypeAliases配置失敗的問題
這篇文章主要介紹了SpringBoot整合Mybatis,解決TypeAliases配置失敗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Java如何使用Agent和ASM在字節(jié)碼層面實現(xiàn)方法攔截
Agent是一種運行在 Java 虛擬機 (JVM) 上的特殊程序,ASM是一個輕量級的 Java 字節(jié)碼編輯和分析框架,本文為大家介紹了如何利用他們在字節(jié)碼層面實現(xiàn)方法攔截,感興趣的可以了解一下2023-05-05

