2012-02-03 3 views
2

Environnement: JDK 1.6, Maven 2.2.1, Hibernate 3.6.7.Final via Hibernate EntityManager, Spring 3.1.0.RELEASE .@Configurable, <context: spring-configured />, Hibernate & @EntityListeners: les écouteurs ne sont pas injectés

Je ne peux pas comprendre pourquoi mes instances d'écoute d'entité ne reçoivent pas injecté par type avec @Autowired dépendances, même si je me suis assuré d'inclure <context:spring-configured/> dans mon contexte d'application et inclus un depends-on="org.springframework.context.config.internalBeanConfigurerAspect dans ma LocalContainerEntityManagerFactoryBean définition de haricots .

Les classes @Entity appropriées comprennent @EntityListeners({...}), et les classes d'écouteur d'entité sont annotés avec @Configurable, et leurs dépendances sont annotés avec @Autowired.

Dans le journal, je vois le internalBeanConfigurerAspect instancié, je peux voir mes auditeurs s'instanciées par Hibernate par réflexion, mais je ne vois jamais le qui aura lieu l'injection, puis-je obtenir un NPE dans l'auditeur lorsque les dépendances injectées de l'auditeur être invoqué. J'ai essayé chaque incantation magique & ne peut pas sembler trouver le bon.

Quelqu'un at-il une idée de ce que je dois me trémousser pour déclencher le @Configurable DI?

TIA, Matthew

Répondre

0

@Configurable support nécessite le tissage à l'aide Aspectj - soit compiler le tissage de temps tissage ou la charge de temps devrait fonctionner. Pouvez-vous confirmer si vous utilisez le tissage d'aspectj, sinon cela pourrait être la raison pour laquelle les haricots annotés @Configurable ne sont pas autobloqués.

Questions connexes