2013-11-15 103 views
1

我有基于config xml的spring应用程序,我已经在数据库的启动时间移动了proprties。管理数百个属性文件非常困难,这就是数据库引入的原因。为了读取属性,我们开发了一个spring restful服务来返回启动时所需的所有属性的地图。Spring自定义PropertyPlaceholderConfigurer

我想知道如何将地图读取的属性替换为弹簧上下文文件,例如$ {config.service.url}应该从通过web服务读取的地图进行轮询。

我考虑过的一个选择是升级到基于Annotation并开始使用MapPropertySource和Environment接口作为environment.getRequiredProperty(“config.service.url”)。但是,基于注解的升级对项目影响很大,目前还没有。

我期待的第二个选择是定制PropertyPlaceholderConfigurer。

任何指针/帮助将是伟大的。

干杯,

琥珀

+0

一个人傻傻的方法是调用Web服务的应用程序分离式,生成具有属性的文件,从您与PropertyPlaceholder最终的应用程序读取该文件。 – zenbeni

回答

0

您可以定义提供一个PropertyPlaceholderConfigurer,但不是指定一个文件位置,你可以直接通过属性由你的RESTful服务返回。

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="properties" .../> 
</bean> 
+0

嗨,是的,我期待着这样的实施。在任何情况下,您是否有上面的示例实现来在运行时填充属性?我也在考虑Map配置如下 AmbGup

相关问题