Bonjour à tous,
J'ai besoin de votre aide car on m'a donné un exercice à faire mais je ne comprend pas du tout le code.
Tout d'abord on a une classe repository :
et ensuite on a un service qui utilise ce repository
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package school.movies.code; import org.springframework.data.repository.Repository; import org.springframework.transaction.annotation.Transactional; @Transactional(readOnly = false) public interface MovieRepository extends Repository<Movie, Long> { void delete(Long movieNumber); List<Movie> findAllBy(); }
Ce que je ne comprend pas c'est que l'interface MovieRepository n'est implémenté nulle part, il n'y as pas de classe MovieRepositoryImpl qui implémente ses méthodes. Pourtant malgrès cela les méthodes delete et getMovies de MovieService fonctionnent alors qu'elles utilisent les méthodes de l'interface. Du coup je ne comprend pas pourquoi ca fonctionne vu que on a pas implémenté les méthodes delete et findAllBy de l'interface.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 @Service public class MovieService { private final MovieRepository movieRepository; @Autowired public MovieService(MovieRepository movieRepository) { this.movieRepository= movieRepository; } public List<Movie> getMovies() { return movieRepository.findAllBy(); } public void delete(Long movieNumber) { movieRepository.delete(movieNumber); } }
Est-ce que vous sauriez m'eclairer?
Partager