Error creating bean with name service

Error creating bean with name service

Ошибка при создании компонента с именем возникает, когда возникает проблема при создании BeanFactory компонента. Если BeanFactory обнаруживает ошибку при создании компонента либо из определения компонента, либо из автоматической настройки, будет выдано исключение BeanCreationException. Исключение Ошибка при создании компонента с именем, определенным в файле, чаще всего возникает в аннотации @Autowired.

Если исключение BeanCreationException найдено в приложении Spring boot, вложенное исключение выявит основную причину исключения. Существует несколько вложенных исключений, которые вызывают исключение BeanCreationException: ошибка при создании компонента с именем в приложении Spring boot.

Вложенное исключение поможет вам исправить исключение BeanCreationException. Следующий список описывает общие первопричины, которые видны во вложенном исключении.

Error creating bean with name entityManagerFactory defined in class path resource : Invocation of init method failed

Вы можете столкнуться с этой ошибкой, если используете JPA в своем приложении. Эта ошибка указывает на то, что у нас что-то не так в конфигурации базы данных, и EntityManagerFactory не создается. Для этого исключения может быть несколько причин.

Примечание – Попробуйте заглянуть в нижнюю часть трассировки стека ошибок, которая поможет вам выяснить точную первопричину этого исключения.

Давайте посмотрим, как исправить ошибку при создании компонента с именем EntityManagerFactory, определенным в ресурсе пути к классу: ошибка при вызове метода инициализации.

1. Проверьте свою конфигурацию базы данных. Убедитесь, что вы предоставили надлежащие сведения о базе данных (проверьте имя базы данных, имя пользователя, пароль и другую конфигурацию). Например, если мы предоставим неправильное имя базы данных, которого нет в базе данных MySQL, мы получим эту ошибку.

2. Убедитесь, что вы используете @ID аннотацию с полем первичного ключа в вашем классе сущностей. Например, приведенный ниже код вызовет org.springframework.beans.factory.Исключение BeanCreationException: ошибка при создании компонента с именем ‘EntityManagerFactory’.

@Entity

public class Student implements Serializable {

  //@Id

  @GeneratedValue(strategy = GenerationType.AUTO)

  private Long id;

  @Column(name = “name”)

  private String name;

  @Column(name = “roll_number”)

  private String rollNumber;

  @Column(name = “university”)

  private String university;

}

3. Если вы определили диалект в файле application.properties, убедитесь, что вы используете правильный диалект.

Например, приведенный ниже, не будет работать и выдаст ошибку.

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL9Dialect

Имя диалекта должно org.hibernate.dialect.MySQL8Dialect

4. Если вы пытаетесь подключить удаленные базы данных, используя некоторые IP-адреса, убедитесь, что он запущен и доступен.

5. Если у вас более старое приложение (не использующее Spring Boot и Spring Data JPA), попробуйте добавить приведенную ниже зависимость maven в pom.xml .

<dependency>

  <groupId>org.hibernate</groupId>

  <artifactId>hibernate-core</artifactId>

  <version>4.1.4.Final</version>

</dependency>

и

<dependency>

  <groupId>org.hibernate</groupId>

  <artifactId>hibernate-entitymanager</artifactId>

  <version>5.2.3.Final</version>

</dependency>

Наталья Петрова
Оцените автора
Новости города Салавата
Добавить комментарий

Adblock
detector