Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring数据mongodb自定义接口冲突BeanDefinitionException_Spring_Spring Data_Spring Data Mongodb - Fatal编程技术网

spring数据mongodb自定义接口冲突BeanDefinitionException

spring数据mongodb自定义接口冲突BeanDefinitionException,spring,spring-data,spring-data-mongodb,Spring,Spring Data,Spring Data Mongodb,按照手册,我创建了存储库和实现类。然而,当我启动我的应用程序时,spring引导失败 Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'mockTestRepositoryImpl' for bean class [com.foo.testapp.mongo.repository.impl.MockTestRep

按照手册,我创建了存储库和实现类。然而,当我启动我的应用程序时,spring引导失败

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'mockTestRepositoryImpl' for bean class [com.foo.testapp.mongo.repository.impl.MockTestRepositoryImpl] conflicts with existing, non-compatible bean definition of same name and class [com.foo.testapp.mongo.repository.impl.MockTestRepositoryImpl] 自定义接口:

包com.foo.testapp.mongo.repository
公共接口MockTestRepositoryCustom{
MockTest findAndModify(查询查询、更新、FindAndModifyOptions)
布尔存在(查询);
}
Spring数据存储库:

包com.foo.testapp.mongo.repository
公共接口MockTestRepository扩展了MongoRepository、MockTestRepositoryCustom{
列表findByDeleted(布尔删除);
MockTest findByIdAndDeleted(字符串id,布尔删除);
@查询(value=“{'deleted':?0}”,fields=“{'name':1}”)
列出findAllBasicInfo(布尔删除);
}

问题是您已经用
@组件
注释了
MockTestRepositoryImpl


您需要完全删除
@组件
(正如您在手册中看到的,没有这样的注释-但所有Spring功能都正常工作)

请尝试从
MockTestRepositoryImpl
中删除
@Component
,并告诉我没有@Component时会发生什么。谢谢。将此作为答案发布。我会接受的。但我想知道为什么spring数据和spring上下文扫描不能同步工作并创建副本。我添加了它作为答案。这是你提出的一个好问题!起初,我认为Spring应该能够忽略注释,但我敢打赌有一些深层Spring内部的东西阻止了它的易于实现