SpringBoot获取当前运行环境三种方式小结
更新时间:2024年01月29日 10:58:12 作者:BigManing
在使用SpringBoot过程中,我们只需要引入相关依赖,然后在main方法中调用SpringBootApplication.run(应用程序启动类.class)方法即可,那么SpringBoot是如何获取当前运行环境呢,接下来由小编给大家介绍一下SpringBoot获取当前运行环境三种方式,需要的朋友可以参考下
一个项目中出现多个环境的配置文件

在代码里我们可以通过下面的方法获取当前的环境。
综合现有方案,总结如下:
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、实现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);
}
/**
* 获取当前环境
*/
public static String getActiveProfile() {
return context.getEnvironment().getActiveProfiles()[0];
}
}
小结
到此这篇关于SpringBoot获取当前运行环境三种方式小结的文章就介绍到这了,更多相关SpringBoot获取当前运行环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot项目集成第三方CAS-client jar包的方法
本文介绍了SpringBoot中集成第三方CAS-clientjar包的两种核心方式,涵盖了从背景原理到实操步骤、依赖冲突解决、打包配置及常见问题排查的全面内容,通过对比两种集成方式,提出了选型建议,并强调了依赖管理的规范性,为实际项目开发提供了全面指导,感兴趣的朋友一起看看吧2025-12-12
spring的构造函数注入属性@ConstructorBinding用法
这篇文章主要介绍了关于spring的构造函数注入属性@ConstructorBinding用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)
这篇文章主要介绍了Spring Boot中利用JavaMailSender发送邮件的方法示例, 相信使用过Spring的众多开发者都知道Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。需要的朋友可以参考借鉴。2017-02-02
Java后台通过Collections获取list集合中最大数,最小数代码
这篇文章主要介绍了Java后台通过Collections获取list集合中最大数,最小数代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08
Gradle构建Java项目指定JDK版本与编译参数实战演练
Gradle是一种流行的构建工具,广泛用于Java、Android和其他项目,通过配置环境变量,您可以更好地控制Gradle构建过程,这篇文章主要介绍了Gradle构建Java项目指定JDK版本与编译参数的相关资料,需要的朋友可以参考下2026-04-04


最新评论