2014-06-18 4 views
1

ApplicationEventPublisher 설정되지 : (. SimpleChannelInboundHandler는 io.netty 클래스입니다)봄 3.1.2 : I 클래스는 다음과 같이 정의

public class MyClass extends SimpleChannelInboundHandler<DataFrame<ByteBuf>> implements ApplicationEventPublisherAware 

그런 다음 내 xml 파일에 내가 정의 MyClass에이 같은 :

: 문서에 따르면

<bean id="MyClass" class="com.mypackage.MyClass" /> 

구성시 Spring 컨테이너는 EmailService가 ApplicationEventPublisherAware를 구현하고 이 자동으로 setApplicationEventPublisher()를 호출 함을 감지합니다.

하지만 실행하면 null입니다.

왜 그런가? ApplicationEventPublisherAware의 일반적인 사용 패턴은 다음과 같습니다

감사

+0

"null"로 무엇을 의미합니까? 널 인수로 호출되는 메소드입니까? – adrobisch

답변

1

:

package example; 

import org.springframework.stereotype.*; 
import org.springframework.context.*; 

@Component 
public class MyBean implements ApplicationEventPublisherAware { 
    ApplicationEventPublisher applicationEventPublisher; 

    public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { 
    System.out.println("publisher: " + applicationEventPublisher); 
    this.applicationEventPublisher = applicationEventPublisher; 
    } 

    ... (use applicationEventPublisher in methods) 
} 

당신은 단지 빈 정말 구성 요소 스캔/구성/<bean> 태그를 통해 컨텍스트에 추가되어 있는지 확인해야합니다, 시도 그것을 확인하기 위해 다른 빈에 주입하는 것.

관련 문제