Spring定制属性PlaceHolder配置器

Spring定制属性PlaceHolder配置器,spring,Spring,我有一个基于xml配置的spring应用程序,我在数据库中移动了启动时所需的属性。管理属性文件中的数百个文件非常困难,这就是引入数据库的原因。为了读取属性,开发了一个springrestful服务来返回启动时所需的所有属性的映射 我想知道如何将从映射读取的属性替换为spring上下文文件,例如${config.service.url}应该通过web服务从映射读取 我考虑的一个选项是升级到基于注释,并开始使用MapPropertySource和Environment接口作为Environment.

我有一个基于xml配置的spring应用程序,我在数据库中移动了启动时所需的属性。管理属性文件中的数百个文件非常困难,这就是引入数据库的原因。为了读取属性,开发了一个springrestful服务来返回启动时所需的所有属性的映射

我想知道如何将从映射读取的属性替换为spring上下文文件,例如${config.service.url}应该通过web服务从映射读取

我考虑的一个选项是升级到基于注释,并开始使用MapPropertySource和Environment接口作为Environment.getRequiredPropertyconfig.service.url。然而,升级到基于注释的版本会对项目产生很大影响,目前还不确定

我期待的第二个选择是拥有一个定制的PropertyPlaceHolderConfiguration

任何关于这方面的提示/帮助都将非常好

干杯


琥珀色

您可以定义PropertyPlaceHolderConfigure,但是您可以直接传递restful服务返回的属性,而不是指定文件位置

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

一个愚蠢的方法是在一个单独的应用程序中调用您的web服务,生成一个带有属性的文件,使用PropertyPlaceholder从您的最终应用程序中读取文件。您好,是的,我期待这样的实现。您是否有在运行时填充上述属性的示例实现?我也在考虑如下配置