5

如果 Spring bean 配置发生变化,有没有办法动态更新 Spring bean?

例如,假设我有一个带有布尔属性的 spring bean,并且 spring bean在应用程序启动时 x具有该值。true

所以spring创建了属性x设置为true的bean。

有没有办法让如果我将属性更改为x(在应用程序运行时)该属性将被更新为false

4

4 回答 4

1

setX()调用 x方法的 setter 即可。

但它不应该是原型 bean。

于 2013-01-18T08:32:10.053 回答
1

jrebel -spring 集成是可能的。它监视您的配置并尝试在运行时重新连接您的 bean。

虽然我不会在生产中使用它......仅用于玩耍,测试等

于 2013-01-18T08:56:33.330 回答
0

Spring bean 可以使用 applicationContext.xml 甚至以编程方式进行初始化。在你的情况下;您将需要从 xml 中删除配置并添加到 java 程序中。您可以从如何以编程方式使用注入的属性创建 bean 定义中得到一些想法?. 其他好的链接也可以在 google 上找到。

于 2013-01-18T08:46:53.027 回答
0

Spring 在启动时读取配置文件。如果您确实需要在应用程序运行时更新配置,您应该手动实现所有链:检测配置更改、验证配置、检测更改的 bean、在上下文中更新 bean。

于 2013-01-18T08:37:11.360 回答