我试图找出是否可以通过系统属性更改弹簧别名配置。使用系统属性更改弹簧别名配置
这就是配置:
<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