【发布时间】:2014-05-06 10:03:37
【问题描述】:
我正在使用 Spring 3.2.8 并将我的设置保存在属性文件中。现在我希望其中一些在运行时覆盖。我想通过覆盖属性文件中的旧值来保持新值的持久性。
如何在 Spring 中做到这一点?一些属性我用@ Value注入,而另一些用MessageSource.getMessage(String, Object [], Locale)注入。 bean 已经用这些值实例化了。如何访问属性、存储它们并更新系统范围内的所有 bean?
谢谢!
【问题讨论】:
-
属性是如何被覆盖的以及它们多久改变一次?
-
属性实际上没有被覆盖。我必须实现这一点。在我看来,这样一个简单功能的实现在 Spring 中是非常复杂的。现在我想有一个带有覆盖值的附加文件,并在 Spring 属性中保留默认值。我尝试使用我自己的
ConfigurationBean并将其注入我需要属性值的地方。所以我有更好的控制力。 -
我想我现在明白你的问题了。属性的值在 /settings 页面上设置。不是那么频繁,但是服务器无法重启。
-
它是属性和bean之间的一对一映射还是多个bean使用的单个属性?那么如果一个属性发生变化,是否有多个位置需要更新?
-
肯定多个 bean 使用了一个属性。没有人希望手动更新所有 bean :)。
标签: java spring spring-mvc