[英]Spring-data-mongo: MongoRepository not being wired unless I add @Component annotation
我的spring-data-mongo
行為有些奇怪,其中<mongo:repositories/>
標記未掃描我的存儲庫軟件包。 我正在使用spring 3.2.3.RELEASE和spring-data-mongo 1.2.1.RELEASE。
我有一個名為edowmis
的項目,其中有2 maven modules
,數據datalayer
和web
我正在單獨使用數據datalayer
,因此可以忽略其他模塊。 我有一個數據層的應用程序上下文
所以我想通過編寫一個小的單元/集成測試來測試我的設置,但是我注意到我無法自動裝配UserRepository
因為它說沒有這樣的bean
由於我使用的是IntelliJ,因此當一切正常時,我可以看到某些視覺效果。 我已經將<context:component-scan/>
到我的應用程序上下文中,但是沒有結果。
但是,當我添加@Component
批注時,它已經開始標識類。
您可能需要的所有信息都在pastie.org上
是@component
或@Repository
真正需要什么不對我的配置?
是的,@ Component或@Repository是必需的。 掃描僅表明spring應該查找通過注釋(@ Component,@ Repository,@ Service)標識的類,並將其作為bean加載。 如果不使用存儲庫或組件掃描,則必須通過XML配置或Java配置手動實例化所有spring-managed bean。
您必須告訴spring將哪些類轉換為bean,因為它沒有假定classpath中的所有內容都應該是spring-managed bean,這就是為什么需要使用批注的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.