PropertyPlaceholderConfigurer用于查找数据库值并使用属性文件作为回退

时间:2013-08-07 08:15:42

标签: java spring

我想知道是否可以在PropertyPlaceholderConfigurer中的属性文件之前使用DB中的值。所以我想要实现的是加载属性文件,如果数据库中存在任何键,则使用它。现在我不知道从哪里开始,但我假设有一个我可以覆盖的方法/类或我需要实现的接口。

只需提及方法/类/接口,我很乐意从那里开始。 TIA

2 个答案:

答案 0 :(得分:7)

PropertyPlaceholderConfigurer具有“properties”属性,可以指向检索数据库值的对象。请在此处查看示例:http://pure-essence.net/2011/02/10/spring-loading-properties-from-database-with-a-twist/

此外,您还需要在从数据库加载属性的配置bean上将“ignoreUnresolvablePlaceholders”设置为true。这样,您可以添加另一个PropertyPlaceholderConfigurer作为回退,以提供数据库中找不到的属性。

答案 1 :(得分:1)

由于您要合并属性,您可能希望在目标bean上实现InitializingBean。你的钩子将是afterPropertiesSet方法,你可以在那里使用你的功夫。

BTW,Spring按照容器遇到的顺序加载和覆盖bean定义。