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