Warum wird Proxy nicht zum automatischen Verdrahten verwendet?
Ich kann keinen Grund finden, warum nicht alle automatisch verdrahteten Beans vom Proxy automatisch verdrahtet werden. Ich weiß das, weil@Transactional
Anmerkungen funktionieren nicht und ich habe beim Debuggen in Eclipse die automatische Verdrahtung überprüft. Natürlich implementiert jede Komponente eine Schnittstelle, die ich verwende@Autowired
Anmerkungen in Bezug auf die Schnittstelle. Ich habe nur eine Konfiguration von aop:
<tx:annotation-driven transaction-manager="transactionManager" />
Ich benutze JPA mit Hibernate, Spring-MVC, Spring-Webflow, Spring-Security und Spring-Data. Schnittstellen die sich erweiternorg.springframework.data.repository.CrudRepository
werden vom Proxy automatisch verkabelt. Aber meine Komponenten sind es nicht. Zum Beispiel habe ich KlasseMyClass
welches implementierenMyInterface
:
@Service
public class MyClass implements MyInterface {
@Autowired
MyCrudReposiotry reposiotry;
....
}
Wenn ich irgendwo MyInterface autodrähte:
@Autowired
MyInterface mi;
dannmi
ist nur ein Hinweis aufMyClass
Objekt, Repository ist Verweis auf Proxyorg.springframework.aop.framework.JdkDynamicAopProxy
. Sehr interessant ist das beim Testenmi
ist ein Verweis auf einen Proxy. Der Kontext meines Tests enthält keine Webflow- und MVC-Konfiguration.
Vielleicht gibt es eine indirekte AOP-Konfiguration, die ich überprüfen sollte. Was kann das Autowiring per Proxy ausschalten?