La description:
Champ userRepository dans com.rst.boot.services.impl.UserServiceImpl requis un haricot nommé « EntityManagerFactory » qui n'a pas pu être trouvé.
Action:
Pensez à la définition d'un haricot nommé « EntityManagerFactory » dans votre configuration.
Ceci est ma classe de service:
@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>
Tout d'abord, dans votre classe de bootstrap assurez vous d'avoir l'annotation @EnableAutoConfiguration. Si vous avez @SpringBootApplication, devrait être suffisant, puisque celui-ci est accompagnée de la première.
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
En second lieu, assurez-vous que UserRepository étend JpaRepository ou CrudRepository:
public interface UserRepository extends JpaRepository<User, Long> {}
Enfin, vérifiez que vous avez la dépendance correcte dans votre configuration Maven ou gradle. Par exemple
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>