解決多實現引用的問題

2021-08-09 14:04:28 字數 891 閱讀 9758

問題:

org.springframework.beans.factory.nouniquebeandefinitionexception: no qualifying bean of type [main.service.singer] is defined: expected single matching bean but found 2: metalsinger,operasinger 

或者:consider marking one of the beans as @primary, updating the consumer to accept multiple beans, or using @qualifier to identify the bean that should be consumed 如:

public inte***ce stringhandler;

@service

public toupperimpl implentments stringhandler {}

@service

public tolowerimpl implentments stringhandler {}

解決方案:

1> 使用@resource(name=「tolowerimpl 」) 註解指定引用類名(預設首字母小寫)

2>使用@autowired @qualifier("t

olowerimpl") 組合註解指定應用類名(預設首字母小寫:可修改->@service("指定名稱"))

3>使用@primary 註解在指定的service實現上,告訴spring 在多個實現的情況,哪乙個首要使用

4>spring4.x後,@conditional設定某個實現類引用的條件,可自行研究,此處不做詳解..

其他方式,可自行嘗試,或可交流

解決ARC的迴圈引用問題

看看下面的程式有什麼問題 bnritem.h inte ce bnritem nsobject property nonatomic,strong bnritem containeditem property nonatomic,strong bnritem container end bnrite...

NSProxy解決迴圈引用問題

最近在使用nstimer 新增到runloop時 發現引用timer的view和controller無法正常釋放,即不會呼叫view或者controller的 dealloc 方法。這是因為timer在新增target時,timer持有target,而target本身又持有timer,導致迴圈引用。...

objective c 交叉引用問題的解決方案

objective c 不允許交叉引用,上 a.h import import b.h inte ce a nsobject void test b b 報錯點 2 end a.mm import a.h implementation a void test b b end b.h import i...