[英]Spring Auto-wiring
假设我有两个类Circle和Rectangle实现一个称为Shape的接口。
我有以下课程:
public class ObjectFactory {
@Autowired
@Qualifier("circle")
Shape shape;
.......
.......
.......
}
我想做的是删除@Qualifier并使自动装配取决于某些条件(例如,如果条件为true,则注入Circle,如果条件为false,则注入矩形)或使接线取决于命名约定。
有没有办法做到这一点 ?
让我解释一下,如果我删除@Qualifier批注,那么我将遇到以下异常
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No unique bean of type [com.app.objects.Shape] is defined:
expected single matching bean but found 2: [circle, rectangle]
有没有一种方法可以通过编程方式处理该异常,以实现条件相关的自动装配?
您可以在@Resource
使用SpEL ,也许也可以在@Qualifier
使用它。
但是通常可以将此类逻辑放置在FactoryBean
,您可以在其中确定要返回的实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.