Sprint引导数据JPA:没有类型为'java.util.Set< javax.persistence.EntityManager>'的合格bean可得到 [英] Sprint Boot Data JPA: No qualifying bean of type 'java.util.Set<javax.persistence.EntityManager>' available

查看:797
本文介绍了Sprint引导数据JPA:没有类型为'java.util.Set< javax.persistence.EntityManager>'的合格bean可得到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法开始使用 spring-boot-starter-data-jpa 。我已经按照本指南创建了一个简单的Spring Boot应用程序,但是Hibernate和相关的配置。
$ b

build.gradle:

  dependencies {
// Spring stuff
compile'org.springframework.boot:spring-boot-starter-data-jpa:1.5.1.RELEASE'
compile'org .springframework.data:spring-data-jpa'
compile'org.springframework:spring-webmvc'
// Jackson
compile'c​​om.fasterxml.jackson.core:jackson-databind: +'
compile'c​​om.fasterxml.jackson.dataformat:jackson-dataformat-yaml:+'
// Postgres
compile'org.postgresql:postgresql:+'
/ / Hibernate
compile'org.hibernate:hibernate-core:5.2.8.Final'
}

无论何时我尝试运行该应用程序,我都会得到以下结果:

 启动应用程序时出错语境。要显示自动配置报告,请启用'debug'重新运行您的应用程序。 
2017-02-24 16:20:27.710错误1070 --- [main] osboot.SpringApplication:应用程序启动失败

org.springframework.beans.factory.UnsatisfiedDependencyException:创建错误名为'jpaContext'的bean:通过构造函数参数0表示的不完全依赖;嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有符合条件的类型为'java.util.Set< javax.persistence.EntityManager>'的可用bean:预计至少有1个符合自动连线候选者的bean。依赖注释:在org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]上的{bb $}
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.beans中的
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE] .factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.beans.factory.support。 AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframewo rk.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.beans.factory .support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306)〜[弹簧豆-4.3.6.RELEASE.jar:4.3.6.RELEASE]
。在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry .getSingleton(DefaultSingletonBeanRegistry.java:230)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory。 java:302)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)〜 [弹簧豆-4.3.6.RELEASE.jar:4.3.6.RELEASE]在org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
〜[弹簧beans- 4.3.6.REL EASE.jar:4.3.6.RELEASE]在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
〜[弹簧上下文4.3.6.RELEASE.jar:4.3.6 .RELEASE]
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)〜[spring-context-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)[spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:370)[spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)[spring- boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)[spring-boot-1.5.1.RELEASE.jar: 1.5.1.RELEASE]
在org.springframework.boot.SpringApplication.run(Sprin $ application.java:1151)[spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
at nl.eonics.cdaas.service.Application.main(Application.java:14)[main /:NA]
。在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[NA:1.8.0_121]
。在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[呐:1.8.0_121]在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
〜[NA:1.8.0_121]在java.lang.reflect.Method.invoke
(Method.java :498)〜[na:1.8.0_121]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)[idea_rt.jar:na]
导致: org.springframework.beans.factory.NoSuchBeanDefinitionException:没有符合条件的类型为'java.util.Set< javax.persistence.EntityManager>'的可用bean:预计至少有1个符合自动布线候选者的bean。依赖注释:{}
在org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1486)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
〜[弹簧豆-4.3.6.RELEASE.jar:4.3.6.RELEASE]
。在org.springframework.beans.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
org.springframework.beans .factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
at org.springframework.beans.factory.support。 ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
... 23个常见框架省略

我曾见过此错误(据报道固定为1.10.7),但将> spring-data-jpa 降级为 1.9.x 没有帮助,但我仍然遇到同样的错误。



有什么想法?

解决方案

问题出在冬眠核。从依赖关系中删除它可以解决问题。


I am unable to get started with spring-boot-starter-data-jpa. I've created a simple Spring Boot app following this guide, but with Hibernate and related config.

build.gradle:

dependencies {
    // Spring stuff
    compile 'org.springframework.boot:spring-boot-starter-data-jpa:1.5.1.RELEASE'
    compile 'org.springframework.data:spring-data-jpa'
    compile 'org.springframework:spring-webmvc'
    // Jackson
    compile 'com.fasterxml.jackson.core:jackson-databind:+'
    compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:+'
    // Postgres
    compile 'org.postgresql:postgresql:+'
    // Hibernate
    compile 'org.hibernate:hibernate-core:5.2.8.Final'
}

Whenever I try to run the app, I end up with the following:

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-02-24 16:20:27.710 ERROR 1070 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'jpaContext': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.Set<javax.persistence.EntityManager>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) ~[spring-context-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.1.RELEASE.jar:1.5.1.RELEASE]
    at nl.eonics.cdaas.service.Application.main(Application.java:14) [main/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:na]
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.Set<javax.persistence.EntityManager>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1486) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE]
    ... 23 common frames omitted

I have seen this bug (which is reportedly fixed as of 1.10.7) but downgrading spring-data-jpa to 1.9.x didn't help, I still got the same error.

Any ideas?

解决方案

The problem is in hibernate-core. Removing it from dependencies resolves the issue.

这篇关于Sprint引导数据JPA:没有类型为'java.util.Set&lt; javax.persistence.EntityManager&gt;'的合格bean可得到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆