有没有一种方法可以在Java应用程序运行时获取配置文件?

时间:2019-02-14 09:20:33

标签: java spring spring-boot

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

1 个答案:

答案 0 :(得分:5)

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

@Autowired
private Environment environment;

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

  

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

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