java – 使用注释和属性文件中定义的类型的Spring autowire?

前端之家收集整理的这篇文章主要介绍了java – 使用注释和属性文件中定义的类型的Spring autowire?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的目标是一个框架,其中可以通过属性文件轻松更改具体类型的bean.我也更喜欢注释到 XML.理想情况下,我要使用@Resource和SpEL的组合,如下所示:
@Resource(type="#{myProperties['enabled.subtype']}")
SomeInterface foo;
@H_403_4@我已经使用Propertiesfactorybean或< util:properties>加载myProperties.来自包含以下内容文件

enabled.type = com.mycompany.SomeClassA; // which implements SomeInterface
@H_403_4@这不起作用,因为类型的参数必须是文字,即不允许SpEL.这里的最佳做法是什么?

@H_403_4@更新:请参阅下面的答案.

解决方法

这正是Spring Java Configuration的用例. @H_403_4@http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-java

@H_403_4@或者你也可以做一个工厂.

@H_403_4@使用:org.springframework.beans.factory.factorybean< SomeInterface>

@H_403_4@实现factorybean的bean的名称将被视为“SomeInterface”,即使它不是.

原文链接:https://www.f2er.com/java/129754.html

猜你在找的Java相关文章