J'utilise des référentiels Spring Data JPA (comme MyRepo extends JpaRepository) et cela fonctionne sans @Repository et sans @EnableJpaRepositories annotations. Quelqu'un pourrait-il expliquer pourquoi?

5
Nikita 17 août 2017 à 11:28

2 réponses

Meilleure réponse

Vous utilisez probablement Spring Boot.

Les référentiels Spring Data s'étendent généralement à partir des interfaces Repository ou CrudRepository. Si vous utilisez la configuration automatique, les référentiels seront recherchés à partir du package contenant votre classe de configuration principale (celle annotée avec @EnableAutoConfiguration ou @SpringBootApplication) vers le bas.

Veuillez vérifier https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-spring-data-jpa-repositories pour plus de détails.

8
Mykhailo Hodovaniuk 17 août 2017 à 08:31

Pour plus d'informations, consultez ces classes qui sont utilisées pour configurer automatiquement les référentiels Spring Data JPA:

JpaRepositoriesAutoConfigureRegistrar

Documentation: http://www.atetric.com/atetric/javadoc/org.springframework.boot/spring-boot-autoconfigure/1.2.0.RELEASE/org/springframework/boot/ autoconfigure / data / jpa / JpaRepositoriesAutoConfigureRegistrar.html

    @EnableJpaRepositories
    private static class EnableJpaRepositoriesConfiguration {

    }
1
Barath 17 août 2017 à 08:43