Я попытался запустить приложение, и оно не работает с необходимыми компонентами - PullRequest
0 голосов
/ 02 апреля 2020

Описание:

Поле userRepository в com.rst.boot.services.impl.UserServiceImpl требует bean-компонента с именем entityManagerFactory, который не может быть найден.

Действие:

Рассмотрите возможность определения компонента с именем entityManagerFactory в вашей конфигурации.

Это мой класс обслуживания:

@Service
public class UserServiceImpl implements UserServices {

    @Autowired
    private UserRepository userRepository;

    @Override
    public List<UserDTO> findAllUsers() {
       List<UserDTO> allusers= userRepository.findAll();
       return allusers;
    }

    @Override
    public String saveUser(UserDTO userdata) {
        userRepository.save(userdata);
        return "Data saved";
    }
}

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0

<groupId>org.example</groupId>
<artifactId>Leaning</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Springboot Demo App</name>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.0.7.Final</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>


</dependencies>

1 Ответ

1 голос
/ 03 апреля 2020

Во-первых, в своем классе bootstrap убедитесь, что у вас есть аннотация @EnableAutoConfiguration. Если у вас есть @SpringBootApplication, этого должно быть достаточно, поскольку последний аннотируется первым.

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


Второе, убедитесь, что UserRepository расширяет JpaRepository или CrudRepository:

public interface UserRepository extends JpaRepository<User, Long> {}


Наконец, проверьте правильность зависимости в конфигурации maven или gradle. Например,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
...