발전하는 나를 기록하기 위해

스프링 부트 구동 시점에 특정 코드 실행 시키기 (CommandLineRunner & ApplicationRunner) 본문

개발/Spring

스프링 부트 구동 시점에 특정 코드 실행 시키기 (CommandLineRunner & ApplicationRunner)

발폼도래 2024. 4. 1. 17:52
728x90

첫번째

import org.springframework.boot.CommandLineRunner;  
import org.springframework.stereotype.Component;  
  
import java.util.Arrays;  
  
@Component  
public class DemoCommandLineRunner implements CommandLineRunner {  
  
    @Override    
    public void run(String... args) throws Exception {        
	    System.out.println("CommandLineRunner Args: " + Arrays.toString(args));    
	}  
}

 

두번째

import org.springframework.boot.ApplicationArguments;  
import org.springframework.boot.ApplicationRunner;  
import org.springframework.stereotype.Component;  
  
import java.util.Arrays;  
  
@Component  
public class DemoApplicationRunner implements ApplicationRunner {  
  
    @Override    
    public void run(ApplicationArguments args) throws Exception {        
	    System.out.println("ApplicationRunner Args: " + Arrays.toString(args.getSourceArgs()));    
    }  
}

 

세번째(빈과 람다 사용해서 한번에)

import org.springframework.boot.ApplicationArguments;  
import org.springframework.boot.ApplicationRunner;  
import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  
import org.springframework.context.annotation.Bean;  
  
@SpringBootApplication  
public class ExceptionhandlerExampleApplication {  
  
    public static void main(String[] args) {        
	    SpringApplication.run(ExceptionhandlerExampleApplication.class, args);    
	}
	  
    @Bean    
    public ApplicationRunner applicationRunner() {        
	    return args -> {            // 코드 작성  
        };    
    }
}

'개발 > Spring' 카테고리의 다른 글

logback-spring 설정  (0) 2024.03.28
트랜잭션 매니저와 트랜잭션 동기화 매니저  (0) 2024.03.13