개요 Spring Batch를 이용해 반복적인 작업을 자동화한다. 목표 특정 시간에 log 데이터를 읽어 DB에 저장하는 작업을 구현한다. 여정 Spring Batch 란? 대용량 일괄처리의 편의를 위해 설계된 가볍고 포괄적인 배치 프레임워크. DI, AOP, 서비스 추상화 등 Spring 프레임워크의 3대 요소를 모두 사용할 수 있다. 언제 사용하나요? 대용량의 비즈니스 데이터를 복잡한 작업으로 처리해야하는 경우 특정한 시점에 스케쥴러를 통해 자동화된 작업이 필요한 경우 (ex. 푸시알림, 월 별 리포트) 대용량 데이터의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후 기록해야하는 경우 제약은 없나요? 대용량 데이터 : 대량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리를 할 ..
개요 Spring에서는 입력값의 오류를 검증하기 위한 다양한 방법을 지원한다. 이를 통해 서비스 로직과 오류 검증 로직을 분리할 수 있다. 목표 if/else를 통한 입력값 검증을 Spring에서 지원하는 방법으로 대체한다. 여정 검증하기 - if/else 에러를 문자열 Map 형태로 처리하고 있어, 자칫 Human Error를 발생시킬 수도 있는 상황이다. 오타가 발생하거나 복사-붙여넣기 등으로 같은 에러를 중복하여 발생시킨다면 앞의 값이 덮어씌워져 모르는 사이에 에러가 하나 줄어들어 출력될 수도 있다. @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Mod..
개요 Spring은 메시지 내용을 properties 설정 파일에서 불러올 수 있다. 또한, 국제화를 위해 다국어 설정도 지원한다. 여정 설정파일 이름 지정 스프링 부트는 application.properties에서 아래와 같이 메시지 설정파일의 이름을 지정해줄 수 있다. (기본값이 messages 이기 때문에 아래 코드를 적지 않아도 적용된다) spring.messages.basename=messages 즉, messages.properties, errors.properties라는 설정파일을 기본적으로 읽어와 사용할 수 있다. 설정파일의 위치는 /resources/messages.properties 위치에 두면 된다. 메시지 관리 기능 설정파일의 이름을 코드로 지정하고 사용할 수도 있다. @Bean p..