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);
}
}