在CDI,我可以這樣做:在Spring中是否有相當於CDI的@Default限定符?
// Qualifier annotation
@Qualifier
@inteface Specific{}
interface A {}
class DefaultImpl implements A {}
@Specific
class SpecificImpl implements A {}
,然後在類:
@Inject
A default;
@Inject
@Specific
A specific;
它的工作原理,因爲自動分配給不指定任何預選賽注射點@Default
預選賽。
但我正在與Spring合作,無法執行該操作。
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException
的問題是「默認」注射(不含資格賽)中大量的代碼,我不能改變已經習慣了,我需要爲我的用戶提供了另一種可能的實現的A
。
我知道我可以通過bean名稱注入我的新實現,但我想避免它。
春天有什麼能幫我實現嗎?
但在我的情況下,DefaultImpl不是'@ Specific'。它的SpecificImpl必須是'@ Specific'。 DefaultImpl必須是'Primary' – baraber