Данные Spring jpa- Определен бит bean с именем ‘entityManagerFactory’; Инъекция автоуведомленных зависимостей не удалась

Я разрабатываю приложение, используя весенние данные jpa, hibernate, mysql, tomcat7, maven, и это создает ошибку. Я пытаюсь понять это, но я потерпел неудачу.

ошибка Не удается разрешить ссылку на bean ‘entityManagerFactory’ при настройке аргумента конструктора; Не определен bean с именем «entityManagerFactory»; Инъекция автоуведомленных зависимостей не удалась

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initDbService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.wahid.cse.repository.RoleRepository org.wahid.cse.service.InitDbService.roleRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'roleRepository': Cannot create inner bean '(inner bean)#c08f81' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#c08f81': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' is defined at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.wahid.cse.repository.RoleRepository org.wahid.cse.service.InitDbService.roleRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'roleRepository': Cannot create inner bean '(inner bean)#c08f81' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#c08f81': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' is defined at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:508) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) ... 22 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'roleRepository': Cannot create inner bean '(inner bean)#c08f81' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#c08f81': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' is defined at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:290) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1456) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1197) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480) ... 24 more 

вот мой файл ApplicationContext.xml

                 true create org.hibernate.dialect.MySQLDialect           

Вот pom.xml

  4.0.0 org.ferdous.wahid java-blog-aggregator 0.0.1-SNAPSHOT war   4.0.5.RELEASE 3.0.4 3.1.0    org.apache.commons commons-dbcp2 2.0.1   mysql mysql-connector-java 5.1.31   org.springframework.data spring-data-jpa 1.6.1.RELEASE   org.hibernate hibernate-entitymanager 4.3.5.Final   javax.servlet javax.servlet-api ${servlet-api-version} provided  <!--  javax.servlet.jsp javax.servlet.jsp-api 2.2.1  -->  jstl jstl 1.2   org.apache.tiles tiles-core ${apache.tiles}   org.apache.tiles tiles-jsp ${apache.tiles}   org.slf4j slf4j-log4j12 1.7.7    org.springframework spring-core ${org.springframework.version}    org.springframework spring-expression ${org.springframework.version}    org.springframework spring-beans ${org.springframework.version}    org.springframework spring-aop ${org.springframework.version}    org.springframework spring-context ${org.springframework.version}    org.springframework spring-context-support ${org.springframework.version}    org.springframework spring-tx ${org.springframework.version}    org.springframework spring-jdbc ${org.springframework.version}    org.springframework spring-orm ${org.springframework.version}    org.springframework spring-oxm ${org.springframework.version}    org.springframework spring-web ${org.springframework.version}    org.springframework spring-webmvc ${org.springframework.version}    org.springframework spring-webmvc-portlet ${org.springframework.version}    org.springframework spring-test ${org.springframework.version} test      org.apache.tomcat.maven tomcat7-maven-plugin 2.2   org.apache.maven.plugins maven-compiler-plugin 3.1  1.7 1.7     при  4.0.0 org.ferdous.wahid java-blog-aggregator 0.0.1-SNAPSHOT war   4.0.5.RELEASE 3.0.4 3.1.0    org.apache.commons commons-dbcp2 2.0.1   mysql mysql-connector-java 5.1.31   org.springframework.data spring-data-jpa 1.6.1.RELEASE   org.hibernate hibernate-entitymanager 4.3.5.Final   javax.servlet javax.servlet-api ${servlet-api-version} provided  <!--  javax.servlet.jsp javax.servlet.jsp-api 2.2.1  -->  jstl jstl 1.2   org.apache.tiles tiles-core ${apache.tiles}   org.apache.tiles tiles-jsp ${apache.tiles}   org.slf4j slf4j-log4j12 1.7.7    org.springframework spring-core ${org.springframework.version}    org.springframework spring-expression ${org.springframework.version}    org.springframework spring-beans ${org.springframework.version}    org.springframework spring-aop ${org.springframework.version}    org.springframework spring-context ${org.springframework.version}    org.springframework spring-context-support ${org.springframework.version}    org.springframework spring-tx ${org.springframework.version}    org.springframework spring-jdbc ${org.springframework.version}    org.springframework spring-orm ${org.springframework.version}    org.springframework spring-oxm ${org.springframework.version}    org.springframework spring-web ${org.springframework.version}    org.springframework spring-webmvc ${org.springframework.version}    org.springframework spring-webmvc-portlet ${org.springframework.version}    org.springframework spring-test ${org.springframework.version} test      org.apache.tomcat.maven tomcat7-maven-plugin 2.2   org.apache.maven.plugins maven-compiler-plugin 3.1  1.7 1.7     ,  4.0.0 org.ferdous.wahid java-blog-aggregator 0.0.1-SNAPSHOT war   4.0.5.RELEASE 3.0.4 3.1.0    org.apache.commons commons-dbcp2 2.0.1   mysql mysql-connector-java 5.1.31   org.springframework.data spring-data-jpa 1.6.1.RELEASE   org.hibernate hibernate-entitymanager 4.3.5.Final   javax.servlet javax.servlet-api ${servlet-api-version} provided  <!--  javax.servlet.jsp javax.servlet.jsp-api 2.2.1  -->  jstl jstl 1.2   org.apache.tiles tiles-core ${apache.tiles}   org.apache.tiles tiles-jsp ${apache.tiles}   org.slf4j slf4j-log4j12 1.7.7    org.springframework spring-core ${org.springframework.version}    org.springframework spring-expression ${org.springframework.version}    org.springframework spring-beans ${org.springframework.version}    org.springframework spring-aop ${org.springframework.version}    org.springframework spring-context ${org.springframework.version}    org.springframework spring-context-support ${org.springframework.version}    org.springframework spring-tx ${org.springframework.version}    org.springframework spring-jdbc ${org.springframework.version}    org.springframework spring-orm ${org.springframework.version}    org.springframework spring-oxm ${org.springframework.version}    org.springframework spring-web ${org.springframework.version}    org.springframework spring-webmvc ${org.springframework.version}    org.springframework spring-webmvc-portlet ${org.springframework.version}    org.springframework spring-test ${org.springframework.version} test      org.apache.tomcat.maven tomcat7-maven-plugin 2.2   org.apache.maven.plugins maven-compiler-plugin 3.1  1.7 1.7     

RoleRepository – это

 import org.springframework.data.jpa.repository.JpaRepository; import org.wahid.cse.entity.Role; public interface RoleRepository extends JpaRepository{ } 

Spring Data JPA по умолчанию ищет EntityManagerFactory с именем entityManagerFactory . EnableJpaRepositories эту часть Javadoc of EnableJpaRepositories или Table 2.1 документации Spring JPA.

Это означает, что вам либо нужно переименовать ваш компонент entityManagerFactory в entityManagerFactory либо изменить конфигурацию Spring для:

  

(если вы используете XML)

или

@EnableJpaRepositories(basePackages="your.package", entityManagerFactoryRef="emf")

(если вы используете Java Config)

В контексте приложения измените компонент с id из entityManagerFactory на entityManagerFactory :

      true create org.hibernate.dialect.MySQLDialect       

к

      true create org.hibernate.dialect.MySQLDialect       

У меня был этот вопрос после перехода от spring-boot-starter-data-jpa ver. От 1.5.7 до 2.0.2 (от старого спящего режима до спящего режима 5.2). В моем classе @Configuration я ввел entityManagerFactory и transactionManager .

 //I've got my data source defined in application.yml config file, //so there is no need to configure it from java. @Autowired DataSource dataSource; @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory() { //JpaVendorAdapteradapter can be autowired as well if it's configured in application properties. HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setGenerateDdl(false); LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); factory.setJpaVendorAdapter(vendorAdapter); //Add package to scan for entities. factory.setPackagesToScan("com.company.domain"); factory.setDataSource(dataSource); return factory; } @Bean public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) { JpaTransactionManager txManager = new JpaTransactionManager(); txManager.setEntityManagerFactory(entityManagerFactory); return txManager; } 

Также не забудьте добавить зависимость hibernate-entitymanager к pom.xml, иначе EntityManagerFactory не будет найден в пути к classам:

  org.hibernate hibernate-entitymanager 5.0.12.Final  

Я думаю, что это связано с новой версией весенней загрузки плюс использование весенних данных JPA, просто замените аннотацию @Bean выше общедоступной LocalContainerEntityManagerFactoryBean entityManagerFactory () на @Bean (name = “entityManagerFactory”)

Определение имени компонента должно решить проблему

  • REST с полной привязкой данных Spring и Jackson
  • Возrotation сгенерированного pdf с использованием пружины MVC
  • Как работает автомастер весной?
  • Обновление статического содержимого с помощью Spring MVC и Boot
  • Как запретить людям выполнять XSS в Spring MVC?
  • Проблема HIbernate с Oracle Trigger для генерации идентификатора из последовательности
  • Перенаправление весной MVC
  • Каков правильный способ использования Spring MVC с Hibernate в DAO, архитектуры уровня обслуживания
  • Spring MVC - HttpMediaTypeNotAcceptableException
  • JQuery, Spring MVC @RequestBody и JSON - заставляя работать вместе
  • Весной MVC
  • Interesting Posts

    Как сохранить вывод из формата таблицы для последующего использования

    Получить номер телефона для связи с URI в Android

    SMART: новый жесткий диск Western Digital с очень большим количеством циклов нагрузки

    размер блока данных в HDFS, почему 64 МБ?

    Использование пользовательской раскладки клавиатуры без администратора в Windows

    Удаление файлов не освобождает место

    Java: функция даты JPQL для добавления периода времени к другой дате

    В чем разница между режимом производства и разработки в Angular2?

    Разница между HttpRuntime.Cache и HttpContext.Current.Cache?

    Как включить под-просмотр в шаблонах Blade?

    Как std :: move () переносит значения в RValues?

    Можете ли вы вернуть панель «show full cell content» (элемент пользовательского интерфейса) в новой ленте Excel 2007+?

    Неисправность кода Xcode 4 не работает

    Сколько стоит разработка приложения для iPhone?

    Установка свойства изображения UIImageView вызывает серьезное отставание

    Давайте будем гением компьютера.