我已经从spring boot版本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类。
在将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)发布于 2015-02-11 20:47:57
有两种方法可以启用JPA存储库:
可以使用@EnableJpaRepositories注释并指定参数(如基础存储库),也可以将属性spring.data.jpa.repositories.enabled=true添加到application.properties文件中,以激活Spring Data JPA的Spring Boot自动配置。
@Repository注解不适合这种用例,可以安全地删除。
如果您已经满足了所有条件,但存储库仍未配置,那么您可以尝试添加Spring Boot Actuator模块,并打开url http://yourserver.domain/autoconfig。这将为您提供所有自动配置及其状态和原因(活动或非活动及其原因)。检查JpaRepositoriesAutoConfiguration是否处于活动状态。
https://stackoverflow.com/questions/28443222
复制相似问题