环境: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, 马修
答案 0 :(得分:0)
@Configurable支持需要使用Aspectj编织 - 编译时编织或加载时间编织应该工作。你能否确认你使用aspectj编织,如果不是,那可能是@Configurable注释bean没有被自动装配的原因。