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

en un proyecto de arranque de primavera tengo problemas para excluir algunos repositorios del escaneo de componentes.

Tengo una biblioteca que contiene algunas entidades y algunos repositorios (JpaRepositories). Por alguna razón, implementé una pequeña aplicación Spring Boot Data Rest que se utilizará para dar a los evaluadores un acceso rápido a las entidades. Por lo tanto, implementé un repositorio que extiende el PagingAndSortingRepository y está anotado con @RepositoryRestResource.

Cuando la aplicación se inicie, todo el repositorio será escaneado y estará disponible. Siempre que solo quiera tener disponibles los repositorios de Data Rest, anoté el escáner de componentes para excluir los repositorios no deseados. Pero esto no funciona. Verifiqué con el punto final de beans de actuador y lo que sea que haga, no se excluyen repositorios.

Para demostrar el problema, creé una aplicación de demostración simple:https://github.com/magomi/springboot-restdata-repoloading.

Para excluir el DataRepository probé los dos enfoques:

// exclude V02
@SpringBootApplication
@ComponentScan(excludeFilters = {
        @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
                DataRepository.class})
})

y

// exclude V01
@SpringBootApplication(exclude = { DataRepository.class })

Sin éxito. Cuando llamo al punto final / beans (proporcionado por el actuador de arranque de resorte) siempre veo

{
    bean: "dataRepository",
    aliases: [ ],
    scope: "singleton",
    type: "org.codefromhell.test.repoloading.DataRepository",
    ...
},
{
    bean: "dataApiRepository",
    aliases: [ ],
    scope: "singleton",
    type: "org.codefromhell.test.repoloading.api.DataApiRepository",
    ...
},

Respuestas a la pregunta(2)

Su respuesta a la pregunta