나는 hibernate.EmptyInterceptor를 확장하고 있으며 구현시 일부 서비스에 autowired하고 싶지만 null을 리턴한다. 나는 클래스 위에 @Component 어노테이션을 추가했다. 내 코드 :Autowired to Interceptor
<property name="jpaPropertyMap">
<map>
<entry key="javax.persistence.transactionType" value="JTA" />
<entry key="hibernate.current_session_context_class" value="jta" />
<entry key="hibernate.transaction.manager_lookup_class"
value="com.atomikos.icatch.jta.hibernate3.TransactionManagerLookup" />
<entry key="hibernate.connection.autocommit" value="false" />
<entry key="hibernate.ejb.interceptor" value="com.net.filter.AuditInterceptor"/>
</map>
</property>
및 클래스 : (null
당신이 주입하는 것입니다하지 않는 한)
@SuppressWarnings("serial")
@Component
public class AuditInterceptor extends EmptyInterceptor {
@Autowired
private IUserSessionService userSessionService;
게시 된 클래스에 서비스를 주입하려고합니다. 서비스 (IUserSessionService)가 null입니다. 이 서비스 autowire는 이미 다른 콩에서 작동합니다. – lior
@lior 위 게시 한 속성이 속한 bean을 알고 싶습니다. 이 Bean은 AuditInterceptor 빈을 사용하는 대신 자신의 인스턴스를 생성하는데, 이는 스프링에 의해 관리되지 않으므로 해당 사출 타겟을 처리하지 않습니다. –
도움을 주셔서 감사합니다.하지만 해결책을 찾았습니다. http://stackoverflow.com/questions/19217872/injecting-jpas-entity-manager-in-hibernates-emptyinterceptor – lior