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

在代碼里我們可以通過(guò)下面的方法獲取當(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、實(shí)現(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)前運(yùn)行環(huán)境三種方式小結(jié)的文章就介紹到這了,更多相關(guān)SpringBoot獲取當(dāng)前運(yùn)行環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目集成第三方CAS-client jar包的方法
本文介紹了SpringBoot中集成第三方CAS-clientjar包的兩種核心方式,涵蓋了從背景原理到實(shí)操步驟、依賴沖突解決、打包配置及常見(jiàn)問(wèn)題排查的全面內(nèi)容,通過(guò)對(duì)比兩種集成方式,提出了選型建議,并強(qiáng)調(diào)了依賴管理的規(guī)范性,為實(shí)際項(xiàng)目開(kāi)發(fā)提供了全面指導(dǎo),感興趣的朋友一起看看吧2025-12-12
Java中保證線程順序執(zhí)行的四種實(shí)現(xiàn)方式
在多線程編程中,線程的并發(fā)執(zhí)行通常是不可預(yù)知的,然而在某些應(yīng)用場(chǎng)景中,我們需要確保多個(gè)線程按特定的順序執(zhí)行,本文將介紹幾種常見(jiàn)的方式,幫助我們?cè)诙嗑€程中保證執(zhí)行順序,需要的朋友可以參考下2025-08-08
springboot實(shí)現(xiàn)用戶名查找用戶功能
本文主要介紹了springboot實(shí)現(xiàn)用戶名查找用戶功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
spring的構(gòu)造函數(shù)注入屬性@ConstructorBinding用法
這篇文章主要介紹了關(guān)于spring的構(gòu)造函數(shù)注入屬性@ConstructorBinding用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
SpringBoot JVM參數(shù)調(diào)優(yōu)方式
這篇文章主要介紹了SpringBoot JVM參數(shù)調(diào)優(yōu)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Springboot詳解如何實(shí)現(xiàn)SQL注入過(guò)濾器過(guò)程
這篇文章主要介紹了基于springboot實(shí)現(xiàn)SQL注入過(guò)濾器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2022-06-06
Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例(附源碼)
這篇文章主要介紹了Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例, 相信使用過(guò)Spring的眾多開(kāi)發(fā)者都知道Spring提供了非常好用的JavaMailSender接口實(shí)現(xiàn)郵件發(fā)送。在Spring Boot的Starter模塊中也為此提供了自動(dòng)化配置。需要的朋友可以參考借鑒。2017-02-02
Java后臺(tái)通過(guò)Collections獲取list集合中最大數(shù),最小數(shù)代碼
這篇文章主要介紹了Java后臺(tái)通過(guò)Collections獲取list集合中最大數(shù),最小數(shù)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
Gradle構(gòu)建Java項(xiàng)目指定JDK版本與編譯參數(shù)實(shí)戰(zhàn)演練
Gradle是一種流行的構(gòu)建工具,廣泛用于Java、Android和其他項(xiàng)目,通過(guò)配置環(huán)境變量,您可以更好地控制Gradle構(gòu)建過(guò)程,這篇文章主要介紹了Gradle構(gòu)建Java項(xiàng)目指定JDK版本與編譯參數(shù)的相關(guān)資料,需要的朋友可以參考下2026-04-04

