SPRING/스프링배치

프로젝트 구성 및 의존성 설정

노트코드 2022. 6. 26. 23:30

의존성 추가

@EnableBatchProcessing 어노테이션 추가

총 4개의 설정 클래스 실행, 스프링 배치의 모든 초기화 및 실행 구성이 이루어짐

스프링 부트 배치의 자동 설정 클래스가 실행됨으로 빈으로 등록된 모든 Job을 검색해서 초기화와 동시에 Job을 수행하도록 구성됨

 

  • BatchAutoConfiguration
    • 스프링 배치가 초기화 될 때 자동으로 실행되는 설정 클래스
    • Job을 수행하는 JobLauncherApplicationRunner빈을 생성
  • SimpleBatchConfiuguration
    • JobBuilder-Factory와 StepBuilderFactory 생성
    • 스프링 배치의 주요 구성 요소 생성 - 프록시 객체로 생성됨
  • BatchConfigurerConfiguration
    • BasicBatchConfigurer
      • SimpleBatchConfiguration에서 생성한 프록시 객체의 실제 대상 객체를 생성하는 설정 클래스
      • 빈으로 의존성 주입 받아서 주요 객체들을 참조해서 사용할 수 있다.
    • JpaBatchConfigurer(BasicBatchConfigurer을 상속받음)
      • JPA관련 객체를 생성하는 생성 클래스
    • 사용자 정의 BatchConfigurer 인터페이스를 구현하여 사용할 수 있음

 

동작 순서

1. @EnableBatchProcessing 

2. SimpleBatchConfiuguration

3. BatchConfigurerConfiguration (BasicBatchConfigurer or JpaBatchConfigurer)

4. BatchAutoConfiguration