我試圖找出是否可以通過系統屬性更改彈簧別名配置。使用系統屬性更改彈簧別名配置
這就是配置:
<beans>
<bean id="beanOne" ... />
<bean id="beanTwo" ... />
<bean id="beanThree" ... />
<alias name="beanOne" alias="beanToUse" />
<bean id="consumer" ...>
<constructor-arg ref="beanToUse" />
</bean>
</beans>
我希望能夠例如使用JVM屬性用-Duse=beanThree
爲別名選擇另一個bean。
不幸的是採用了直板正解<alias name="#{systemProperties.use}" alias="beanToUse" />
拋出一個異常NoSuchBeanDefinitionException
:(
有什麼建議?
您是否檢查此線程? http://stackoverflow.com/questions/317687/inject-property-value-into-spring-bean – Chris
是的,我做過,但使用屬性來檢索參數本身並不是問題在這裏...當然使用該技術將使啓用引入一個代理,然後用它代替別名 - 但正如我所說,這不是問題。 – pagid