BACK-END/Spring

    Spring Batch 기본 구조

    Spring Batch 기본 구조

    구조설명 앞서 Spring Batch 시작하기에서 설명했던 대로 실행을 해보면 Bean만 생성했을 뿐인데, 자동으로 실행이 된다. 그 이유를 아래 내부 구조 그림으로 이해해보자 Spring Batch는 Bean이 생성되면 JobLauncher 객체에 의해서 Job을 수행한다. 1. JobLauncher 2. Job 3. Step JobRepository는 데이터베이스나 메모리에 스프링 배치가 실행될 수 있도록 메타데이터를 관리하는 클래스이다. 전반적인 데이터를 관리하기 위한 용도로 사용되는 클래스라고 이해하면 될 것 같다. Job Job은 JobLauncher에 의해 실행 Job은 배치의 실행 단위를 의미 Job은 N개의 Step을 실행할 수 있으며, 흐름(Flow)을 관리할 수 있음. ex. A Ste..

    Spring Batch 시작하기

    Spring Batch 시작하기

    🤔 사용하는 이유 Spring Batch는 대량의 데이터를 처리하는 데 사용되는 오픈 소스 프레임워크입니다. Spring Batch는 매우 유연하며 일괄 처리 (Batch Processing) 작업을 처리하는 데 사용됩니다. 이를 위해 Spring Batch는 작업을 단계별로 분할하여 각 단계를 실행하고 트랜잭션 관리와 예외 처리를 제공합니다. 샘플 Spring Batch 프로젝트를 만드는 방법은 다음과 같습니다. 1. Spring Boot 프로젝트 생성 Spring Boot CLI를 사용하여 새 Spring Boot 프로젝트를 생성합니다. $ spring init --dependencies=web,batch my-batch-project 2. 의존성 추가 build.gradle 파일에 Spring Ba..

    REST API 디자인 가이드

    REST API 디자인 가이드

    🤙🏻 디자인 규칙 URI을 디자인할 때 자주 언급 되는 7가지 규칙을 정리하였다. 1. URI 마지막에 슬래시(/)를 포함하지 않는다. URI 경로 마지막은 반드시 문자여야 한다. 슬래시(/) 다음에 의미 있는 값을 추가하지 않으면 혼동이 올 수 있다. X : http://api.canvas.com/shapes/ O : http://api.canvas.com/shapes 2. 슬래시(/)를 사용하여 계층적 관계를 나타낸다. 슬래시 문자는 리소스 간의 계층적 관계를 나타내기 위해 URI 경로에 사용된다. ex) http://api.canvas.com/shapes/polygons/quadrilaterals/squares 3. URI 가독성을 높이려면 하이픈(-)을 사용해야 한다. URI를 사람들이 쉽게 스캔..

    [Spring Batch] Scheduled cron Expression 크론 표현식

    [Spring Batch] Scheduled cron Expression 크론 표현식

    ☺️ 요약 설명 사용 방법 : @Scheduled(cron = "* * * * * *") 위의 사용 방법에서 *(Asterisk (아스테리스크))는 ALL(모든) 것을 의미 합니다. * 부분에 들어갈 설정 값들에 대해서 설명 드리도록 하겠습니다. 0 1 2 3 4 5 6 * * * * * * * 초 분 시 일 월 요일 년(생략 가능) 0~59 0~59 0~23 1~31 1~12 JAN-DEC 1-7 MON-SUN 📅 월 표현 방법 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월 1 2 3 4 5 6 7 8 9 10 11 12 JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 📅 요일 표현 방법 월 화 수 목 금 토 일 1 2 3 4 5 6 7 MO..

    [Spring Boot] Failed to determine a suitable driver class 에러

    [Spring Boot] Failed to determine a suitable driver class 에러

    👀 문제발견 IntelliJ Community 버전으로 JPA를 공부를 하려고 Spring Initializr에서 Gradle Project를 생성하여 최초 실행시 Reason : Failed to determine a suitable driver class 라는 에러를 만났다. 😎 확인내용 해당 에러메시지는 Spring Initializr에서 DB관련한 dependency 라이브러리 (JPA, H2 ... )를 추가하여 SpringBoot에서 최초 빌드시 application.properties 파일을 생성하게 되는데 해당 파일 안에서 DataSource 관련 정보를 찾지 못했을 때 발생한다. 🔨 버그수정 @EnableAutoConfiguration(exclude={DataSourceAutoConfig..