SpringBoot獲取當(dāng)前運行環(huán)境三種方式小結(jié)
一個項目中出現(xiàn)多個環(huán)境的配置文件

在代碼里我們可以通過下面的方法獲取當(dāng)前的環(huán)境。
綜合現(xiàn)有方案,總結(jié)如下:
1、注解直接獲取
@Value("${spring.profiles.active}")
private String env;
2、配置Configuration
@Configuration
public class ProfileConfig {
@Autowired
private ApplicationContext context;
public String getActiveProfile() {
return context.getEnvironment().getActiveProfiles()[0];
}
}
3、實現(xiàn)ApplicationContextAware
@Component
public class SpringUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
if (SpringUtils.applicationContext == null) {
SpringUtils.applicationContext = applicationContext;
}
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
public static <T> T getBean(Class<T> clazz) {
return getApplicationContext().getBean(clazz);
}
public static <T> T getBean(String name, Class<T> clazz) {
return getApplicationContext().getBean(name, clazz);
}
/**
* 獲取當(dāng)前環(huán)境
*/
public static String getActiveProfile() {
return context.getEnvironment().getActiveProfiles()[0];
}
}
小結(jié)
到此這篇關(guān)于SpringBoot獲取當(dāng)前運行環(huán)境三種方式小結(jié)的文章就介紹到這了,更多相關(guān)SpringBoot獲取當(dāng)前運行環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項目集成第三方CAS-client jar包的方法
本文介紹了SpringBoot中集成第三方CAS-clientjar包的兩種核心方式,涵蓋了從背景原理到實操步驟、依賴沖突解決、打包配置及常見問題排查的全面內(nèi)容,通過對比兩種集成方式,提出了選型建議,并強調(diào)了依賴管理的規(guī)范性,為實際項目開發(fā)提供了全面指導(dǎo),感興趣的朋友一起看看吧2025-12-12
Java中保證線程順序執(zhí)行的四種實現(xiàn)方式
在多線程編程中,線程的并發(fā)執(zhí)行通常是不可預(yù)知的,然而在某些應(yīng)用場景中,我們需要確保多個線程按特定的順序執(zhí)行,本文將介紹幾種常見的方式,幫助我們在多線程中保證執(zhí)行順序,需要的朋友可以參考下2025-08-08
spring的構(gòu)造函數(shù)注入屬性@ConstructorBinding用法
這篇文章主要介紹了關(guān)于spring的構(gòu)造函數(shù)注入屬性@ConstructorBinding用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
SpringBoot JVM參數(shù)調(diào)優(yōu)方式
這篇文章主要介紹了SpringBoot JVM參數(shù)調(diào)優(yōu)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Springboot詳解如何實現(xiàn)SQL注入過濾器過程
這篇文章主要介紹了基于springboot實現(xiàn)SQL注入過濾器,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2022-06-06
Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例(附源碼)
這篇文章主要介紹了Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例, 相信使用過Spring的眾多開發(fā)者都知道Spring提供了非常好用的JavaMailSender接口實現(xiàn)郵件發(fā)送。在Spring Boot的Starter模塊中也為此提供了自動化配置。需要的朋友可以參考借鑒。2017-02-02
Java后臺通過Collections獲取list集合中最大數(shù),最小數(shù)代碼
這篇文章主要介紹了Java后臺通過Collections獲取list集合中最大數(shù),最小數(shù)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Gradle構(gòu)建Java項目指定JDK版本與編譯參數(shù)實戰(zhàn)演練
Gradle是一種流行的構(gòu)建工具,廣泛用于Java、Android和其他項目,通過配置環(huán)境變量,您可以更好地控制Gradle構(gòu)建過程,這篇文章主要介紹了Gradle構(gòu)建Java項目指定JDK版本與編譯參數(shù)的相關(guān)資料,需要的朋友可以參考下2026-04-04

