[英]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.