Java 如何在spring环境中更改属性?
我在应用程序中使用spring环境Bean来获取应用程序配置属性。 我想从java代码更改spring环境中属性的值,而无需重新启动应用程序服务器。我该怎么做Java 如何在spring环境中更改属性?,java,spring,Java,Spring,我在应用程序中使用spring环境Bean来获取应用程序配置属性。 我想从java代码更改spring环境中属性的值,而无需重新启动应用程序服务器。我该怎么做 @Service public void MyService { @Autowired private Environment environment; public void doSomething(){ String value = environment.getProperty("mypro
@Service
public void MyService {
@Autowired
private Environment environment;
public void doSomething(){
String value = environment.getProperty("myproperty");
...
}
}
在Spring上下文中默认获得的
环境
实现实际上是的一个实例
StandardEnvironment
实现,因此,如果插入ConfigurableEnvironment
而不是超级接口,则可以在运行时进行更改
@Service
public void MyService {
@Autowired private ConfigurableEnvironment environment;
我的环境变量是从yml填充的。这种方法也会写入yml文件还是只写入变量?您应该添加代码来实际添加/更改属性。我认为文档不是非常清晰。有关添加属性的代码,请参见以下内容: