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