我有一個服務bean(用@Service註釋),它實現了用於擴展ApplicationEvent抽象類的T類型事件對象的ApplicationListener接口。還有就是這個在Spring文檔here使用實現ApplicationListener的@Autowired注入bean不起作用?
但是當我嘗試這個bean注入到使用@Autowired其他的我得到一個非常簡單和明顯的例子是:
org.springframework.beans.factory .NoSuchBeanDefinitionException:否 匹配依賴類型爲[...]的Bean:預期至少有1個 bean,該bean有資格作爲此依賴關係的自動連線候選。 相關注釋 如果我嘗試使用類似@Resource然後我得到一類轉換異常(試圖注入{@ org.springframework.beans.factory.annotation.Autowired(必需=真)}
一種類型的資源,但獲得一個代理服務器)。
是啊,工作(上了春季論壇上相同的答案前一段時間)。我應該打開類代理嗎? – nvrs
@nvrs我覺得最好使用接口(請閱讀Joshua Bloch的Effective Java以解釋原因)。首先,爲單元測試嘲笑服務更容易。 –
這很公平。儘管如此,我仍然可以看到在此特定場合編程接口的唯一原因(當然還有JDK代理的東西),這個服務首先是一個實現。 – nvrs