티스토리 뷰

들어가며

  • 스프링 부트에서는 Application과 관련하여 다양한 시점에 Event Listener를 등록할 수가 있다.
    • 자세한 내용은 이 곳을 참고
    • ApplicationStartingEvent, ApplicationEnvironmentPreparedEvent 등등

사용법

Application Listener 생성 방법

  • Listener를 Bean으로 등록하기만 한다면 알아서 실행을 해줌
  • 아래 예제는 Application이 실행 된 후 호출되는 Listener이다.
@Component
public class SimpleListener implements ApplicationListener<ApplicationStartedEvent> {
    @Override
    public void onApplicationEvent(ApplicationStartedEvent applicationStartedEvent) {
        System.out.println("=======================");
        System.out.println("Application Started...");
        System.out.println("=======================");
    }
}

 

주의해야 할 점(Application Context 생성 이전의 이벤트)

  • 위 예제 처럼 Application Context가 만들어진 이후 발생하는 이벤트들은 Bean으로 등록해주면 자동으로 실행이 되지만 Application Context가 만들어지기 이전의 것들은 호출이 되지 않는다..
//ApplicationStartingEvent는 ApplicationContext가 만들어진 후의 이벤트임
//Bean 등록은 의미 없음
//@Component
public class SimpleListener implements ApplicationListener<ApplicationStartingEvent> {
    @Override
    public void onApplicationEvent(ApplicationStartingEvent applicationStartingEvent) {
        System.out.println("=======================");
        System.out.println("Application Starting...");
        System.out.println("=======================");
    }
}

 

  • 호출을 하기 위해서는 SpringBootApplication에 직접 리스너를 등록해줘야 한다.
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(Application.class);
        app.addListeners(new SimpleListener());
        app.run(args);
    }
}

관련 글

 

[Spring Boot] 애플리케이션 실행 후 특정 코드를 수행하는 방법 (Application Runner 사용법)

들어가며 필요에 따라 스프링부트 애플리케이션이 처음 실행되고 난 시점에 특정한 코드나 동작을 수행하고자 할 때가 있다. 이때 사용할 수 있는 Application Runner, Command Line Runner를 알아보고자 한다. Ap..

jinseongsoft.tistory.com

 

[Spring Boot] ApplicationArguments 사용법

들어가며 SpringBoot에서 제공해주는 ApplicationArguments를 통해서 프로그램 argument를 간편하게 가져와서 사용하는 방법을 알아보도록 한다. Program arguments Java 프로그램을 실행할 때 실행 옵션에 Progra..

jinseongsoft.tistory.com

 

[SpringBoot] properties 파일 정의된 프로퍼티 클래스로 묶어서 사용하는 방법 (@ConfigurationProperties 사용)

들어가며 application.properties 에 설정한 프로퍼티중 여러 값이 같은 key로 묶어서 하나의 Bean으로 등록하는 방법이 있다. 방법 @ConfigurationProperties application.properties 파일에 같은 key로 묶인 프..

jinseongsoft.tistory.com


끝으로

이 글이 도움이 되었다면, 하단의 Google 광고 👎👎👎 한번씩 클릭 부탁 드립니다. 🙏🙏🙏

광고 클릭은 많은 힘이 됩니다! 

반응형
댓글