2014-10-30 2 views
0

스프링 도구 모음 릴리스 3.6.1으로 작업하여 웹 페이지를 만듭니다. 응용 프로그램은 UI까지 전파해야하는 외부 이벤트를 수신합니다.Spring ApplicationEventPublisherAware - 게시자가 설정되지 않음

이/지적되었다 (관련 링크 http://www.javacodegeeks.com/2012/08/observer-pattern-with-spring-events.htmlhttp://www.programmingforliving.com/2012/10/event-handling-in-spring.html.) 제안 구현하지만, 게시자가 설정되어지고되지 않도록 setApplicationEventPublisher() 메서드가 호출 점점되지 않은 정보에 대한 ApplicationEventPublisherAware을 발견했다.

개체에 기본 작동자가있어서 제대로 작동하려면 콩이 필요하다는 것을 알고 있습니다. 테스트 용으로 매개 변수를 받아들이는 public 생성자도 있습니다. 기본 생성자는 다른 생성자를 호출하여 작업을 수행합니다. 내 코드 스 니펫은 다음과 같습니다.

public class NodeObserver extends NodeObserverBase 
implements ApplicationEventPublisherAware 
{ 
    private ApplicationEventPublisher mPublisher; 

    /** Default constructor using singleton items */ 
    public NodeObserver() { 
    this(A.getInstance(), B.getInstance(), A.getInstance().getC()); 
    } 
    public NodeObserver(final A a, final B b, final C c) 
    { 
    ..... 
    } 
    ..... 
    public void setApplicationEventPublisher(
       final ApplicationEventPublisher publisher) 
    { 
    mPublisher = publisher; 
    } 
    ..... 
} 

설정된 게시자 방법이 호출되지 않는 이유는 무엇입니까? 링크는 빈 특성을 변경하는 것에 대해 이야기하지만 bean XML로 파일을 찾을 수는 없습니다.

내가 뭘 잘못하고 있니? 어떤 도움이라도 대단히 감사합니다.

로리 < *>

답변

0

여러 연구를 통해 해답을 찾아 냈다.

나는 내 수업을 컨트롤러로 만들었습니다. 즉 클래스 라인 바로 앞에 @Controller 지시문을 추가했습니다.

@Controller 
public class NodeObserver extends NodeObserverBase 
implements ApplicationEventPublisherAware 
{ 
    ..... 
} 

스프링 툴이 나머지 부분을 처리했습니다.

환호 로리 < *>