Je possède ce printemps config:Spring Classe d'autowiring par rapport à l'interface?
<bean id="boo" class="com.x.TheClass"/>
La classe TheClass
met en œuvre TheInterface
. Ensuite, j'ai cet (hypothétique) du code Java:
@Autowired
TheInterface x;
@Autowired
TheClass y;
Le autowiring des œuvres TheInterface
mais le autowiring de TheClass
échoue. Le printemps me donne un NoSuchBeanDefinitionException
pour la classe.
Pourquoi pouvez-vous câbler l'interface et non la classe?
Y at-il quelque chose de spécial au sujet de cette classe, comme étant « finale », ou ayant d'autres instruments, comme @Transactional, sur elle. Vous pouvez manquer une librairie d'instrumentation, comme CGLIB, ou essayer de créer un proxy de sous-classe sur une classe finale. – ptomli