假设我们在 Spring 中有这样一个组件:
@Component
public class MyComponent {
@Value("${someProperty}")
private String text;
}
如果我们定义属性占位符:
<context:property-placeholder location="classpath:myProps.properties"/>
myPropos.properties 包含someProperty的值,该值将在上下文初始化时注入到文本字段中。这很简单。
但是,假设我有一项服务可以让用户更改someProperty的值:
public void changeProp(String name, String newValue);
有没有机会我可以将 newValue 重新注入到文本字段中。我的意思是它应该很简单。基本上它与初始化后注入没有什么不同。我无法想象Spring不支持这个?我可以触发一些事件或其他东西吗?
我基本上可以自己做这个,但我徘徊它可能已经存在了吗?如果没有,有谁知道 Spring 类实际上是在首先处理注入吗?如果解决方案不存在,我可能可以重用那里的代码自己执行此操作。