Saltar al contenido

Cómo excluir un @Repository del análisis de componentes cuando se usa Spring Data Rest

Solución:

Puedes usar org.springframework.data.repository.NoRepositoryBean anotación sobre la interfaz de su repositorio. Del doc:

Anotación para excluir las interfaces del repositorio para que no se recojan y, por lo tanto, se cree una instancia.

Por lo general, esto se usará cuando se proporcione una interfaz base extendida para todos los repositorios en combinación con una clase base de repositorio personalizada para implementar métodos declarados en esa interfaz intermedia. En este caso, normalmente deriva sus interfaces de repositorio concretas a partir de la intermedia, pero no desea crear un bean Spring para la interfaz intermedia.

Porque es un repositorio y no estrictamente un @Component, debe excluirlo agregando @EnableJpaRepositories a su aplicación:

@SpringBootApplication
@EnableJpaRepositories(excludeFilters = {
        @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
                DataRepository.class})
})
public class ApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *