declarar una clase MyJpaRepository como repositorio:
@Repository
public class MyJpaRepository {
...
}
Y asegúrese de que tiene sus anotaciones se pueden descubrir mediante la creación del elemento componente de exploración en la configuración de la primavera:
<context:component-scan base-package="org.example.repository"/>
ya que haces no desea que su repositorio esté incluido en el análisis de anotación según sus comentarios, filtúelo excluyendo todas las anotaciones de @Repository o su (s) clase (s) o paquete en particular. Hay un ejemplo de esto en la documentación:
<context:component-scan base-package="org.example.repository">
<!-- use one or the other of these excludes, or both if you *really* want to -->
<context:exclude-filter type="regex" expression="*Repository"/>
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
El Spring 3.0 documentation describe esta configuración en más detalle en la sección 3.10.
Al configurar su clase como Repositorio, se designará como uno solo cuando la saque como un Bean en su clase de Configuración.
¿Por qué no puedes usar '@ Repository'? ¿Podría usar una anotación diferente en su lugar? – skaffman
Porque eso crearía el componente del escáner de anotación de Spring, no de mi clase de configuración. – hertzsprung
@hertzspring: En ese caso, reconfigure el escáner para que no recoja su clase. El escáner puede recibir reglas de inclusión/exclusión. – skaffman