【发布时间】:2019-07-08 06:34:04
【问题描述】:
我正在运行一个 jar 文件并使用 -Dspring.profiles.active=。如何在运行时获取正在运行的配置文件名称。我想在我的代码中使用它并根据配置文件进行一些更改。有什么办法可以得到吗?
【问题讨论】:
-
运行时如何获取运行配置?
标签: java spring spring-boot
我正在运行一个 jar 文件并使用 -Dspring.profiles.active=。如何在运行时获取正在运行的配置文件名称。我想在我的代码中使用它并根据配置文件进行一些更改。有什么办法可以得到吗?
【问题讨论】:
标签: java spring spring-boot
您需要将Environment reference 注入您的班级,例如:
@Autowired
private Environment environment;
然后您可以调用getActiveProfiles() 方法来获取配置文件(文档here)。文档是这样说的:
返回为此明确激活的配置文件集 环境。配置文件用于创建 bean 的逻辑分组 有条件地注册的定义,例如基于 部署环境。配置文件可以通过设置激活 “spring.profiles.active”作为系统属性或通过调用 ConfigurableEnvironment.setActiveProfiles(String...).
另外,Environment bean 是由 Spring 创建的,因此您无需在应用程序中显式地 @Bean 它。
【讨论】: