@Bean
public Job batchJob() {
return jobBuilderFactory.get("batchJob")
.start(step1()) // Flow 시작하는 Step 설정
.on("COMPLETED") // Step의 실행 결과로 돌려받는 종료 상태 (ExitStatus)를 캐치하여 매칭하는 패턴, TransitionBuilder 반환
.to(step2()) // 다음으로 이동할 Step 지정 .stop()/fail()/end()/stopAndRestart() -> Flow를 중지/실패/종료 하도록 Flow 종료
// => Step1이 성공하면 Step2로 가라.
.from(step1()) // 이전 단계에서 정의한 Step 의 Flow 를 추가적으로 정의함
.on("FAILED").to(step3()) // => Step1이 실패하면 Step3로 가라.
//.next(step2()) // 다음으로 이동할 Step 지정
.end() // build() 앞에 위치하면 FlowBuilder 를 종료하고 SimpleFlow 객체 생성
.build(); // FlowJob 생성하고 flow 필드에 SimpleFlow 저장
}