2013-11-15 59 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

相關問題