본문 바로가기

Java12

[Spring Batch] #3 스프링배치 동작 방식 - 기본 개요프로젝트를 진행하며 스프링 배치에 대해 공부한 내용 중 스프링 배치의 전반적인 동작 방식에 대해 공유하도록 하겠습니다. 이번 게시물에선 스프링 배치가 동작하는 과정을 간략하게 설명하겠습니다. 스프링 배치의 동작방식에 대해 알아보기전에 최소한으로 알고 있어야 하는 객체가 있습니다. JobRepository스프링 배치의 메타테이블 Repository 추상체이다. 스프링 배치의 실행기록 및 Job과 Step의 상태 등 스프링 배치의 실행 정보들을 저장하거나 가져오는 역할을 한다.Step의 실행 정보를 가져와 중단된 부분부터 실행할 수 있도록 한다. 그렇기 때문에 JobRepository를 사용하지 않는 InMemory 설정을 할 경우에 중단된 부분부터 실행하는 기능을 사용할 수 없다.일반적으로 Simple.. 2022. 9. 20.
[Spring Batch] #2 스프링 배치 Job의 실행 방법 이번 포스팅에선 스프링 배치 또는 스프링 배치의 Job을 실행하는 다양한 방법들을 소개하겠다. 직전 게시물에서 설명했듯이 스프링 배치는 오직 배치 작업만 수행하고 원하는 시간 또는 특정 조건에서 실행하는 등의 스케줄링 기능은 별도의 오픈소스 스케줄러인 쿼츠(Quartz)나 다른 엔터프라이즈 스케쥴러, 또는 Ci Tool(대표적으로 jenkins가 있다), web 등을 이용해 스프링 배치를 실행하게 된다. 또한 스프링 배치의 모든 Job을 실행할지, 특정 Job만 실행할지 등 많은 고려사항들이 존재하는데 오늘은 몇 가지의 스프링 배치의 실행 방법을 설명하겠다. 1. Java Application 실행스프링 배치의 기능만을 수행하기 위한 별도의 스프링 배치 프로젝트로 구성되어 있고 Spring boot + .. 2022. 9. 20.
[Spring Batch] #1 스프링 배치란?(기본 개념 및 예제 포함) 프로젝트 수행 중 배치 프로그램을 개발하면서 Spring Batch에 대해 공부하고 이해한 내용을 기록하고 공유하고자 한다.Spring Batch에 대한 더욱 정확하고 자세한 정보들은 커뮤니티나 타 블로그에 이미 많이 기재되어 있으므로 프로젝트에 도움이 됐던 내용에 초점을 맞추도록 하겠다. 1. 스프링 배치(Spring Batch)란? 스프링 배치는 스케줄러가 아니다.대용량 일괄처리의 편의를 위해 설계된 가볍고 포괄적인 배치 프레임워크로 원하는 일정에 따라 실행되도록 스케줄러를 통해 설정하고 실행되는 프로세스의 비즈니스 로직을 설계하여 실행방법에 초점을 맞추는게 스프링 배치라고 생각한다. 대용량의 데이터를 원하는 크기만큼 반복을 돌릴 수도 있고예외가 발생했을 경우 스킵, 재시도, 복구, 분기 등 설정을 .. 2022. 9. 20.
[Web] REST란? 메소드의 종류 REST란?REST(Representational State Transfer)는 월드 와이드웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식으로 2000년 로이 필딩(R. Fielding)의 박사학위 논문(Architectural Styles and the Design of Network-based Software Architectures)에서 처음으로 소개된 개념이다. 쉽게 말하면 네트워크를 통해 공유되는 각각의 자원을 정의하고 자원에 대한 고유 주소를 지정하는 방법 전반을 일컫는 설계 지침 정도로 볼 수 있다.본디 네트워크 톡신을 위해 제시하였으나, HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있을 뿐만 아니라 웹 기반의 데이터 전송을 위해 쓰이는 .. 2022. 8. 16.
[Thymeleaf] 타임리프 기본 문법 예제 포함 1. Thymeleaf   1) Thymeleaf란     타임리프는 서버사이드렌더링 자바 템플릿 엔진으로 Spring에서 권장하는 템플릿 엔진이다.     타임리프 라이브러리는 확장성이 매우 좋다.       * 타임리프 문법을 적용한 html을 브라우저에서 돌릴 수 있을 정도(다만, 브라우저에서 실행 시 타임리프의 문법은     적용되지 않는다.)      타임리프는 html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 동적 렌더링이 가능하게 해준다.2. Thymeleaf 적용  1) Thymeleaf 설정Thymeleaf를 사용하기에 앞서 타임리프 설정 정보를 등록해야 함.필자는 순수 자바 코딩 방식으로 Spring 과 연계하기 위해 TemplateResolver, TemplateEngi.. 2022. 8. 2.
[Web] Ajax 완벽 정리, 다양한 예제 포함 Ajax 데이터 보내고 받기, Ajax Controller 데이터 받기, Ajax 데이터 배열로 보내기 등 다양한 경우에 대해 예제를 통해 알아보겠다. 목차Ajax란?Ajax 기본Ajax 설정Ajax 메소드 종류Ajax 예제 1. Ajax란? Ajax는 Asynchronous JavaScript and XML의 약자로, 말 그대로 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다. 다만 요즘은 XML보다는 JSON을 주로 사용한다. 브라우저의 XMLHttpRequest를 이용해 전체 페이지를 새로 가져오지 않고도 페이지 일부만을 변경할 수 있도록 javascript를 실행해 서버에 데이터만을 별도로 요청하는 기법이다.HTTP 프로토콜을 이용한 비동기 통신이며 브라우저는 정적 HTML 파일.. 2022. 7. 15.