CS

[Spring] Spring Application 메서드 실행 방법

KJihun 2023. 11. 22. 13:52
728x90

 

 

1. CommandLineRunner 및 ApplicationRunner 구현
CommandLineRunner

`run()` 메서드에 `String[] args` 파라미터를 갖는다. 이 인터페이스를 구현하면, Spring Boot 애플리케이션이 구동될 때 `run()` 메서드가 호출된다.

 

ApplicationRunner

`run()` 메서드에 `ApplicationArguments` 객체를 파라미터로 받는다.

이 인터페이스를 구현하면, Spring Boot 애플리케이션이 구동될 때 `run()` 메서드가 호출된다.

 


2. Spring의 ApplicationEvent
Spring의 `ApplicationEvent`와 `ApplicationListener`를 사용하면, 커스텀 이벤트를 생성하고 리스너를 통해 해당 이벤트를 처리할 수 있다.

ApplicationEvent를 상속받은 사용자 정의 이벤트를 생성하고, `ApplicationListener`를 구현하여 해당 이벤트를 처리한다

3. @PostConstruct 
@PostConstruct 어노테이션은 Spring Bean이 생성된 후 초기화 작업을 수행하기 위해 사용된다.

해당 메서드는 클래스 내에서 특정한 메서드에 `@PostConstruct` 어노테이션을 붙여 정의하고,

이 메서드는 해당 Bean이 초기화된 직후에 실행된다.

 

 

4. InitializingBean 인터페이스 구현
Spring 에서 제공하는 `InitializingBean` 인터페이스를 구현하여 초기화 작업을 수행할 수 있다.

해당 인터페이스를 구현한 클래스는 `afterPropertiesSet()` 메서드를 오버라이드하여 초기화 작업을 정의한다.

5. @Bean의 initMethod 사용

Spring의 `@Bean` 어노테이션을 사용하여 빈을 정의할 때, `initMethod` 속성을 사용하여 초기화 메서드를 지정할 수 있다.
Bean을 정의하는 Configuration 클래스에서 `@Bean` 어노테이션과 함께 `initMethod`를 사용한다.