我正在应用程序中使用 spring Environment Bean 来获取应用程序配置属性。我想从 java 代码更改 spring 环境中属性的值,而无需重新启动应用程序服务器。我该怎么做?
@Service
public void MyService {
@Autowired
private Environment environment;
public void doSomething(){
String value = environment.getProperty("myproperty");
...
}
}
默认情况下,
在 Spring 上下文中将获得的Environment
实现实际上是 StandardEnvironment 的一个实例。
StandardEnvironment
实现了可配置环境,因此如果您注入ConfigurableEnvironment
而不是超级接口,您将能够在运行时进行更改。
@Service
public void MyService {
@Autowired private ConfigurableEnvironment environment;