[스프링] ApplicationRunner, CommandLineRunner

ApplicationRunnerCommandLineRunner는 스프링 애플리케이션 내에 포함될 때 자동으로 실행되어야 하는 빈을 지정하는데 사용되는 인터페이스이다. ApplicationRunnerCommandLineRunner는 스프링 애플리케이션이 시작된 후에 자동으로 실행되는 특수한 스프링 부트 컴포넌트로서, run() 메소드 하나만 갖고 있는 함수형 인터페이스다. 애플리케이션에서 사용되는 모든 컴포넌트가 등록되고 활성화된 이후에 run() 메소드가 자동으로 실행되는 것이 보장된다.

동일한 애플리케이션 컨텍스트 내에서 여러 ApplicationRunner 또는 CommandLineRunner 빈을 정의할 수 있으며 Ordered 인터페이스나 @Order 어노테이션을 사용하여 실행 순서를 설정할 수 있다.

run() 메서드의 인자로 문자열 배열을 사용하는 경우 CommandLineRunner를 사용하며, 인자로 ApplicationArguments를 사용하는 경우 ApplicationRunner를 사용한다.

Comments