@Configurable,<context:spring-configured>,Hibernate&amp; @EntityListeners:没有注入的侦听器</context:spring-configured>

时间:2012-02-03 21:14:04

标签: hibernate spring jpa autowired entitylisteners

环境:JDK 1.6,Maven 2.2.1,Hibernate 3.6.7.Final通过Hibernate EntityManager,Spring 3.1.0.RELEASE。

我无法弄清楚为什么我的实体监听器实例没有被带有@Autowired依赖关系的类型注入,即使我已确保在我的应用程序上下文中包含<context:spring-configured/>并包含我的LocalContainerEntityManagerFactoryBean bean定义中的depends-on="org.springframework.context.config.internalBeanConfigurerAspect

相应的@Entity类包括@EntityListeners({...}),实体侦听器类使用@Configurable注释,其依赖项使用@Autowired注释。

在日志中,我看到internalBeanConfigurerAspect正在实例化,我可以通过反射看到我的听众被Hibernate实例化,但是我从未看到注入发生,然后我在听众中获得NPE侦听器的注入依赖项被调用。我已经尝试了每一个神奇的咒语&amp;似乎找不到合适的人。

任何人都有任何想法,我必须摇晃以触发@Configurable DI?

TIA, 马修

1 个答案:

答案 0 :(得分:0)

@Configurable支持需要使用Aspectj编织 - 编译时编织或加载时间编织应该工作。你能否确认你使用aspectj编织,如果不是,那可能是@Configurable注释bean没有被自动装配的原因。