我的目标是一个框架,其中可以通过属性文件轻松更改具体类型的 bean。我也更喜欢 XML 的注释。理想情况下,我会@Resource
像这样使用和 SpEL 的组合:
@Resource(type="#{myProperties['enabled.subtype']}")
SomeInterface foo;
我已经加载myProperties
了一个PropertiesFactoryBean
或<util:properties>
来自一个文件的地方,其中包括:
enabled.type = com.mycompany.SomeClassA; // which implements SomeInterface
这不起作用,因为参数 oftype
必须是文字,即不允许 SpEL。这里的最佳做法是什么?
更新:请参阅下面的答案。