@Configuration
@RequiredArgsConstructor
public class HelloJobConfiguration {
private final JobBuilderFactory jobBuilderFactory;
private final StepBuilderFactory stepBuilderFactory;
@Bean
public Job helloJob() {
return jobBuilderFactory.get("helloJob")
.start(helloStep())
.build();
}
@Bean
public Step helloStep() {
return stepBuilderFactory.get("helloStep")
.tasklet((contribution, chunkContext) -> {
System.out.println("Hello Spring Batch");
return RepeatStatus.FINISHED;
})
.build();
}
}
JobBuilderFactory
: Job을 생성하는 빌더 팩토리StepBuilderFactory
: Step을 생성하는 빌더 팩토리Job
: 위 예제에선 helloJob 이름으로 Job 생성Step
: 위 예제에선 helloStep 이름으로 Step 생성tasklet
: Step 안에서 단일 태스크로 수행되는 로직 구현Job 구동 → Step을 실행 → Tasklet을 실행
spring.batch.jdbc.initialize-schema
설정