如何在运行时切换Spring配置文件?

时间:2018-12-04 09:27:59

标签: java spring spring-boot

当前,我通过@Value注入我的应用程序属性,并且效果很好。现在,我希望我的应用程序支持多个配置,这意味着其@Value每次应返回不同的值。

我阅读了有关Spring配置文件的信息,但是我不明白如何在运行时切换配置文件。甚至有可能吗?

我真正需要的是在服务器启动时加载所有配置,并在请求到达时动态选择其配置文件-每个请求都应具有一组配置。

1 个答案:

答案 0 :(得分:4)

在运行时切换Spring配置文件不是一个好习惯。 Spring配置文件旨在作为一种在不同的环境中管理您的应用程序的方式。

  

Spring Profiles提供了一种隔离应用程序配置的各部分并使之仅在某些环境中可用的方法

如果您的变量需要针对每个传入请求进行动态更改,请考虑以下几个选项:

  • 将值存储在数据库中,在启动时进行缓存,并根据传入的请求参数/正文进行获取
  • 从传入的请求参数/正文推断值
  • 将所有可能的值存储在属性文件中,在启动时加载,然后根据传入的请求参数/正文进行选择
  • 将所有可能的值存储为枚举/常量,并在传入的请求参数/正文中选择bsaed