Spring boot 이벤트 감청 실현 과정 분석

사건 감청 은 사실 우 리 는 낯 설 지 않다.쉽게 말 하면 프로그램 이 특정한 조건 에 이 르 면 프로그램 은 자동 으로 명령 을 집행 한다.스프링 에서 도 마찬가지 로 스프링 의 이벤트 감청 을 사용 하여 특정한 수 요 를 실현 할 수 있 습 니 다.
게시 이벤트
사건 을 감청 하려 면 우리 사건 부터 발표 해 야 지.spring 에서 이 벤트 를 발표 하면 애플 리 케 이 션 이 벤트 를 계승 하여 이벤트 종 류 를 발표 할 수 있 습 니 다.

@Data
public class SendEvent extends ApplicationEvent {

  public SendEvent(Object source) {
    super(source);
  }
}
우 리 는 부류 의 구조 방 발 슈퍼(source)를 호출 해 야 한다.
사건 감청
자바 웹 프로젝트 에 servlet 감청 기 를 쓴 적 이 있 지만 그 감청 기 는 감청 방법 이 아니 라 값 의 변 화 를 감청 하지 않 습 니 다.프로그램 내부 의 어떤 값 의 변 화 를 감청 하려 면 사건 감청 류 를 써 야 합 니 다.

@Component
public class SendEventListener {

  @EventListener
  public void start(String lins){
    System.out.println(lins);
  }
}
여기 서 우 리 는@EventListener 를 사용 하여 우리 의 사건 을 감청 합 니 다.
이벤트 트리거
이렇게 많은 말 을 했 는데,결국 필요 한 것 은 아직 말 하지 않 았 는데,사건 이 어떻게 촉발 되 어야 하 는 지.
우 리 는 application.publishEvent()라 는 방법 을 통 해 우리 의 사건 을 촉발 할 수 있 습 니 다.이 방법 은 매개 변수 중의 대상 이 감청 중의 대상 과 일치 할 것 임 을 강조 해 야 합 니 다.그래서 감청 류 의 감청 사건 은 여러 개 를 만 들 수 있 습 니 다.

@GetMapping("test_events")
  public String testEvents(){
    //          
    applicationContext.publishEvent("    ");
    return "       ,   ";
  }
이로써 우 리 는 스프링 의 사건 감청 을 마 쳤 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기