理想我想從代碼做到這一點:春PropertiesFactoryBean自動公開提供一個PropertyPlaceholderConfigurer的財產
@Value("#{aPropertiesFactoryBean.aProperty}")
private String aProperty;
基礎上,我設置了提供一個PropertyPlaceholderConfigurer和PropertiesFactoryBean彈簧的配置,只是通過配置bean作爲bean的引用,並且配置器生成的所有內容都作爲工廠bean的屬性公開。
有一個黑客,只是重新定義每個屬性從配置者,如:
<bean id="aPropertiesFactoryBean"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="singleton" value="true" />
<property name="properties">
<props>
<prop key="aProperty">${aProperty}</prop>
</props>
</property>
</bean>
每次一個屬性添加到配置者時間
然後,你必須用的FactoryBean,再暴露了。值得一提的是,我需要配置器的所有管理功能,並且還能夠從spring xml文件和@Value批註中引用同一批屬性。
所以兩個問題:
- 有這樣的開箱即用的?
- 它看起來很容易覆蓋PropertiesFactoryBean並給它一個PlaceholderConfigurer的屬性,但實際訪問這些屬性的代碼將不得不涉及通過反射來解開引擎並挖入Spring的內部PropertiesLoaderSupport類。有沒有更簡單的方法來做到這一點?
請注意,我不是在尋找能夠快速讓我走上前路的東西,現在上面的PropertiesFactoryBean已經足夠了。我正在尋找或者找出一個可重用的組件,我可以用它來輕鬆管理路上的項目的注入屬性。