CommandLineRunner 인터페이스는 스프링 부트 애플리케이션이 시작된 후 자동으로 실행할 로직을 정의할 수 있는 인터페이스입니다. 애플리케이션이 실행될 때 초기화 작업이나 설정 작업을 자동으로 수행하고 싶을 때 자주 사용됩니다.
run() 메서드가 호출됩니다.run(String... args) 메서드를 구현하여 작업 내용을 작성합니다.run() 메서드가 자동으로 호출됩니다.import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class MyCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("애플리케이션이 시작될 때 실행되는 로직입니다.");
// 명령줄 인수가 있을 경우 출력
if (args.length > 0) {
System.out.println("명령줄 인수:");
for (String arg : args) {
System.out.println(arg);
}
}
}
}
@Component 어노테이션을 사용하여 스프링 빈으로 등록합니다.run(String... args) 메서드에 실행할 로직을 작성합니다.args 파라미터는 애플리케이션을 실행할 때 함께 전달된 명령줄 인수입니다.애플리케이션을 다음과 같이 실행했다면:
$ java -jar myapp.jar arg1 arg2 arg3
실행 시 다음과 같은 결과가 출력됩니다:
애플리케이션이 시작될 때 실행되는 로직입니다.
명령줄 인수:
arg1
arg2
arg3
run(String... args)를 통해 명령줄 인수를 다룹니다.ApplicationRunner는 ApplicationArguments 객체를 사용해 더 유연한 명령줄 인수 처리가 가능합니다.