Spring Autowiring clase vs. interfaz?

Tengo esta configuración de spring:

 

La clase TheClass implementa TheInterface . Entonces tengo este (hipotético) código de Java:

 @Autowired TheInterface x; @Autowired TheClass y; 

El autovínculo de TheInterface funciona, pero el autovínculo de TheClass falla. Spring me da una NoSuchBeanDefinitionException para la clase.

¿Por qué puedes conectar la interfaz y no la clase?

Normalmente, ambos funcionarán, puede autoconectar interfaces o clases.

Probablemente haya un generador de autoproxy en algún lugar de su contexto, que está envolviendo su bean boo en un objeto proxy generado. Este objeto proxy implementará TheInterface , pero no será TheClass . Al usar autoproxies, necesita progtwigr en la interfaz, no en la implementación.

El candidato probable son los proxies transaccionales: ¿está utilizando transacciones de Spring, utilizando AspectJ o @Transactional ?