본문 바로가기
IT/Spring Boot

Spring Boot 배치 batch 프로그램 작성

by 골든크랩 2022. 10. 28.
728x90
반응형

DB : MySQL 5.7 사용

JDK : 17

 

1. 프로젝트 Dependencies 설정

2. MySQL 연동

root 계정으로 진행함(아래 이미지와 조금 다름)

Database : study 선택

3. DB 연동및 테스트

 

4. main 메서드에 @EnableBatchProcessing 붙이기

 

5. Job 만들기 


@Configuration
@Slf4j
@RequiredArgsConstructor
public class HelloConfiguration {
    private final JobBuilderFactory jobBuilderFactory;

    private final StepBuilderFactory stepBuilderFactory;

/*
아래 링크를 읽어봐라.  생성자를 만들어 놓으니, 에러가 뜸.  @RequiredArgsConstructor 를 쓰려면, 생성자가 없어야 하는듯
https://velog.io/@developerjun0615/Spring-RequiredArgsConstructor-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%83%9D%EC%84%B1%EC%9E%90-%EC%A3%BC%EC%9E%85
    
    public HelloConfiguration(JobBuilderFactory jobBuilderFactory,
                              StepBuilderFactory stepBuilderFactory) {
        this.jobBuilderFactory = jobBuilderFactory;
        this.stepBuilderFactory = stepBuilderFactory;
    }
*/

    @Bean
    public Job helloJob() {
        return jobBuilderFactory.get("helloJob")
                .incrementer(new RunIdIncrementer())
                .start(this.helloStep())
                .build();
    }

    @Bean
    @JobScope
    public Step helloStep() {
        return stepBuilderFactory.get("helloStep")
                .tasklet((contribution, chunkContext) -> {
                    log.info("hello spring batch");
                    return RepeatStatus.FINISHED;
                }).build();
    }
}

 

 

함께보면 좋은 글 :

https://khj93.tistory.com/entry/Spring-Batch%EB%9E%80-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B3%A0-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

 

Spring Batch란? 이해하고 사용하기(예제소스 포함)

들어가기 앞서.. Spring Batch에는 굉장히 많은 설정과 기능들이 존재합니다. 해당 포스팅에서는 기초적인 Spring Batch에 대해서 설명하고 사용하는 예제에 대해서 설명을 하려고 합니다. Spring Batch를

khj93.tistory.com

 

 

728x90
반응형

'IT > Spring Boot' 카테고리의 다른 글

RestTemplate (Server To Server 간 통신)  (0) 2022.12.15
@RequiredArgsConstructor 을 이용한 생성자 주입 (퍼옴)  (0) 2022.10.28
@Resource 어노테이션 이란?  (0) 2022.10.26
스프링 EHCACHE  (0) 2022.10.25
Quartz Job Scheduler란?  (0) 2022.10.11

댓글