【问题标题】:Is there a way to get profile during runtime of a java application? [duplicate]有没有办法在 Java 应用程序运行时获取配置文件? [复制]
【发布时间】:2019-07-08 06:34:04
【问题描述】:

我正在运行一个 jar 文件并使用 -Dspring.profiles.active=。如何在运行时获取正在运行的配置文件名称。我想在我的代码中使用它并根据配置文件进行一些更改。有什么办法可以得到吗?

【问题讨论】:

  • 运行时如何获取运行配置?

标签: java spring spring-boot


【解决方案1】:

您需要将Environment reference 注入您的班级,例如:

@Autowired
private Environment environment;

然后您可以调用getActiveProfiles() 方法来获取配置文件(文档here)。文档是这样说的:

返回为此明确激活的配置文件集 环境。配置文件用于创建 bean 的逻辑分组 有条件地注册的定义,例如基于 部署环境。配置文件可以通过设置激活 “spring.profiles.active”作为系统属性或通过调用 ConfigurableEnvironment.setActiveProfiles(String...).

另外,Environment bean 是由 Spring 创建的,因此您无需在应用程序中显式地 @Bean 它。

【讨论】:

  • 谢谢@Darshan。知道了 。对于默认配置文件,它是 @Value("${spring.profiles.active:default}") private String activeProfile;它现在按预期工作
猜你喜欢
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2017-09-09
相关资源
最近更新 更多