我們運行一個類似的配置,在我們的情況下,我們將數據庫憑證存儲在本地配置文件中,所有其他屬性都存儲在數據庫中。
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="order" value="1"/>
<property name="locations">
<list>
<value>classpath:app.properties</value>
</list>
</property>
<property name="placeholderPrefix" value="$["/>
<property name="placeholderSuffix" value="]"/>
</bean>
<bean id="propertyConfigurer" class="com.acme.util.DatabasePropertyPlaceholderConfigurer">
<property name="order" value="2"/>
<property name="dataSourceName" value="dataSource"/>
</bean>
在我們的情況下,DatabasePropertyPlaceholderConfigurer需要訪問一個Spring bean(數據源),所以我們使用Bean工廠在覆蓋'mergeProperties()方法來檢索數據源。在你的情況下,配置要簡單得多,因爲你需要一個簡單的URL配置值。
下面的例子可能做的伎倆:(請注意,這兩個configurers使用不同的前綴/後綴:$ [],而不是$ {})
<bean id="propertyConfigurer" class="com.acme.util.RESTPropertyPlaceholderConfigurer">
<property name="order" value="2"/>
<property name="url" value="$[config.url]"/>
</bean>