使用System属性更改spring bean别名
我试图弄清楚是否可以通过系统属性更改弹簧别名配置。
这是配置:
我希望能够使用JVM属性,例如使用-Duse=beanThree
为别名选择另一个bean。
不幸的是,使用直接解决方案会抛出
NoSuchBeanDefinitionException
exception:(
有什么建议么?
您是否尝试使用spring 3.1配置文件?
并通过系统属性选择-Dspring.profiles.active=A
我没有在配置文件中尝试别名,但您可以在每个配置文件中使用替代beanToUse
定义:
这是使用SpEL执行此操作的另一种方法。 我有两个带有bean ids testDataStrategy和realDataStrategy的DataStrategy类型的实现
我可以通过在Java项目的Property文件中设置属性’data.strategy’来在bean之间进行选择。