Aide comprehension spring data repositories
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 :
Code:
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();
} |
et ensuite on a un service qui utilise ce repository
Code:
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);
}
} |
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.
Est-ce que vous sauriez m'eclairer?