쿠릉쿠릉 쾅쾅
쿠릉쿠릉 쾅쾅
쿠릉쿠릉 쾅쾅
250x250
전체 방문자
오늘
어제
  • 분류 전체보기
    • HTML CSS
    • 잡담
    • 프로그래밍 꿀팁 사이트
    • 코딩 도서
    • [자바]
      • 디자인 패턴
      • 자바의 정석 - 3판
      • 자바
      • 자바 문법
    • git
    • [TDD]
    • 개발 서적 독후감
      • 클린 코더
      • 토비 스프링3
      • 객체지향의 사실과 오해
      • 모던 자바 인 액션
      • 엘레강트 오브젝트
    • CS
      • 운영체제
      • HTTP
    • [SQL]
      • SQL 기초
      • 혼자공부하는SQL
    • [ Spring ]
      • REST API
      • Spring Toy
      • Spring 에러
      • Spring
      • Spring 입문
      • Spring 핵심 원리
      • SpringMVC 1편
      • SpringMVC 2편
      • Spring Boot를 이용한 RESTful We..
      • Batch
    • [JPA]
      • JPA
      • JPA 에러
      • JPA 프로그래밍 - 기본편
      • 스프링 부트와 JPA 활용 1 - 웹 애플리케이..
      • 실전! 스프링 부트와 JPA 활용2 - API 개..
      • 실전! 스프링 데이터 JPA
      • 실전! Querydsl
    • 인텔리제이
    • [DB]
      • DB
      • H2
    • Gradle
    • 면접
    • [알고리즘]
      • 알고리즘
      • 자료구조
      • 자바 알고리즘 공부
    • [프로젝트]
    • 쿠릉식 객체지향 사고
    • 리눅스

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스프링
  • 재귀
  • 백준
  • 함수형인터페이스
  • 깃허브
  • 자료구조
  • querydsl
  • SQL
  • JPA
  • REST API
  • springboot
  • Spring
  • 스프링부트
  • http
  • 자바
  • 알고리즘
  • java
  • GitHub
  • MVC
  • Git

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
쿠릉쿠릉 쾅쾅

쿠릉쿠릉 쾅쾅

[Batch] 스프링 배치 초기화 설정 클래스
[ Spring ]/Batch

[Batch] 스프링 배치 초기화 설정 클래스

2022. 10. 22. 21:33
728x90

 

스프링 배치 초기화 설정 클래스

 

BatchAutoConfiguration

  • 스프링 배치가 초기화 될 때 자동으로 실행되는 설정 클래스다.
  • Job을 수행하는 JobLauncherApplicationRunner 빈을 생성한다.
    • BatchAutoConfiguration은 JobLauncher 인터페이스를 구현하는 모든 구현체를 실행시킨다.
    • JobLauncherApplicationRunner 도 JobLauncher 인터페이스의 구현체 중 하나다.

 

SimpleBatchConfiguration

  • JobRepository, JobLauncher, JobBuilderFactory, StepBuilderFactory를 생성한다.
  • 스프링 배치의 주요 구성 요소를 생선한다.
    • 주요 구성 요소들이 프록시 객체로 생성된다.
      • 프록시 객체로 생성시키면 컴파일 시점이 아닌 런타임 시점에서 객체를 전략적으로 변경해서 실행시킬 수 있다. 즉, 전략패턴이라 할 수 있다. 
      • 프록시 객체에서 실제 객체의 실행 전, 후 공통적인 기능을 처리하기 위한 목적도 있다. 즉, AOP 다.
      • 프록시 객체는 하나의 빈으로 생성하고, 실제 객체는 스레드별 혹은 특정한 주체에 따라 독립적인 Target 객체로 개별 생성해서 제어하기 위한 목적도 있다. 스레드에 안전한 객체를 만드는 방법 중 하나다.
      • BatchConfigurer가 제공하는 구성 리소스에서 이러한 구성 요소가 필요할 때 구성 주기가 개발되는 것을(가능한 많이) 방지하기 위함이다.
  • BatchConfigurer 인터페이스를 구현하여 사용자 정의를 할 수 있다.

 

BatchConfigurerConfiguration

  • BatchConfigurerConfiguration클래스는 내부에 BasicBatchConfigurer 와 JpaBatchConfigurer 의 설정 클래스를 가지고 있다.
  • BasicBatchConfigurer
    • SimpleBatchConfiguration에서 생성한 프록시 객체의 실제 대상 객체를 생성하는 설정 클래스다.
    • 빈으로 의존성 주입을 받아서 주요 객체들을 참조해서 사용할 수 있다.
  • JpaBatchConfigurer
    • JPA 관련 객체를 생성하는 설정 클래스다.
    • BasicBatchConfigurer 클래스의 자식 클래스다.
  • BasicBatchConfigurer 클래스와 JpaBatchConfigurer는 BatchConfigurer 인터페이스를 구현하여 사용했다. 이처럼 사용자 정의 설정 클래스를 만들어서 BatchConfigurer 인터페이스를 구현하면 된다.

 

 

 

스프링 배치 초기화 설정 클래스 실행 순서

@EnableBatchProcessing 실행 → SimpleBatchConfiguration 클래스 실행 → BatchConfigurerConfiguration 클래스 실행 → BatchAutoConfiguration 클래스 실행

 

 

 

728x90

'[ Spring ] > Batch' 카테고리의 다른 글

[Batch] 도메인 객체 이해  (0) 2022.11.23
[Batch] DB 스키마 생성 및 메타 데이터 테이블  (0) 2022.11.20
[Batch] Job 만들어서 실행해보기  (0) 2022.10.23
    '[ Spring ]/Batch' 카테고리의 다른 글
    • [Batch] 도메인 객체 이해
    • [Batch] DB 스키마 생성 및 메타 데이터 테이블
    • [Batch] Job 만들어서 실행해보기
    쿠릉쿠릉 쾅쾅
    쿠릉쿠릉 쾅쾅
    깃허브 주소 : https://github.com/kureung

    티스토리툴바