ApplicationRunner 및 CommandLineRunner : Springboot 몇 가지 방법이 "부팅"접근 방식을 우리에게 제공한다.
이러한 두 가지 방법의 목적은 프로젝트를 즉시 시작할 때 몇 가지 방법을 수행하기 위해, 충족하기 위해 제공됩니다. SpringApplication 실행이 실행을 시작한 후 우리는 그들이 달성하기 위해, ApplicationRunner 및 CommandLineRunner를 얻을 수 있습니다.
CommandLineRunner 인터페이스 문자열 배열을 수신 커맨드 라인 파라미터를 사용할 수 ApplicationRunner은 파라미터를 수신하는 ApplicationArguments 사용
샘플 코드
@ 구성 요소 // 스프링 컨테이너가 관리하는 이상의 사용자 정의 ApplicationRunner은, 실행 순서를 식별하는 데 사용되는 경우 @Order (1) // 공용 클래스를 MyApplicationRunner 구현 ApplicationRunner는 { @Override 공공 무효 실행 (ApplicationArguments의 applicationArguments)는 예외 {던졌습니다 에서 System.out.println는 ( "-------------->"+ "프로그램 시작, 지금 ="+ 새로운 새 날짜 ()); 을 MyTimer (); } 공공 정적 무효을 MyTimer () { 타이머 타이머 새로운 새 = 타이머 (); timer.schedule합니다 (TimerTask를 새 새 () { @Override 공공 무효 RUN () { 에서 System.out.println ( "------ -------- 예약 된 작업"); } }, 0 1000); } }
결과
2018- 02- 08 : 14 10 : 16.490 정보 10236는 --- [주] sbcetTomcatEmbeddedServletContainer가 : Tomcat이 포트에서 시작 (들) : 8081 (HTTP)
--------------> 프로젝트는 = 목 2월 지금, 시작 08에게 : 14 10 : 중부 표준시 01시 06분 2018
타이밍 작업 ------ -------- 2018- 02- 08 14 : 10 : 16.497이 정보 10236가 --- [주] com.mlxs.springboot01.web.MainApp : MainApp가에서 시작 5.595 초 ( JVM이 실행 을 위해 ) 6.334
-------- ------ 일반 작업
-------- ------ 일반 작업
-------- ------ 일반 작업
-------- ------ 일반 작업
-------- ------ 일반 작업
-------- ------ 일반 작업