Spring boot 1.2.1没有为依赖项找到类型的限定bean

时间:2015-02-10 22:37:50

标签: spring spring-boot spring-data-mongodb

我已从spring boot version 1.1.5升级到1.2.1,现在我得到了NoSuchBeanDefinitionException

我有简单的主要课程

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

以后我有回购

@Repository
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {

   ...


}

自定义仓库

public interface UserRepositoryCustom {
    // custom methods
}

和impl class。

在将spring boot版本更新到1.2.1之前,一切都按预期工作。 我已阅读https://github.com/spring-projects/spring-boot/issues/2237并尝试删除@Repository注释但未成功。 我错过了什么吗? Thnx寻求帮助

编辑堆栈跟踪:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.example.respositories.UserRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1308)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1054)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:949)
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813)
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)

1 个答案:

答案 0 :(得分:7)

有两种方法可以启用JPA存储库:

使用@EnableJpaRepositories注释并指定参数(如基本存储库)或将属性spring.data.jpa.repositories.enabled=true添加到a​​pplication.properties文件以激活Spring Data JPA的Spring Boot自动配置。

@Repository注释不适合此用例,可以安全删除。

如果您已满足所有条件且仍未配置存储库,则可以尝试添加Spring Boot Actuator模块,并打开URL http://yourserver.domain/autoconfig。这将为您提供所有自动配置及其状态(活动或非活动及其原因)。检查JpaRepositoriesAutoConfiguration是否有效。