【发布时间】:2014-04-24 10:10:31
【问题描述】:
我有一个使用大量自动装配的项目,例如
@Component("componentA")
public class ComponentAImpl implements ComponentA
@Component("componentB")
public class ComponentBImpl implements ComponentB {
@Autowired
private ComponentA componentA;
}
但我希望客户扩展所有类,因此理想情况下,他们只需将单个 jar 添加到类路径中,应该使用扩展类而不是原始类。 如果他们可以为 bean 设置一个不同的名称,我认为会很棒,例如
@component("componentA-custom)
我只需要一些方法来自定义自动装配过程以查找最后带有“-custom”的 bean 并加载它而不是原始 bean。 有什么办法吗?
任何帮助表示赞赏。 谢谢, 马吕斯
【问题讨论】:
-
为什么不使用
@Qualifiers? -
怎么样?我不想修改我的代码或任何参考。我只希望@Autowire 注释先查找任何自定义实现,然后在未找到自定义实现时使用原始实现。
标签: java spring dependency-injection autowired