개요 이번 글에서 @RestControllerAdvice 어노테이션을 사용하여 전역적으로 예외 처리를 하는 GlobalExceptionHandler 클래스를 만들어 예외 처리를 해보겠습니다. @RestControllerAdvice 전역적으로 예외 처리를 관리하고 응답을 생성하는 어노테이션입니다. 여러 컨트롤러에서 발생하는 예외를 한 곳에서 처리할 수 있습니다. 표준화된 응답 형식을 유지할 수 있습니다. 사용 순서 커스텀 예외 클래스 작성 예외 상황 발생 GlobalExceptionHandler에서 예외 처리 제가 예외 처리한 상황은 회원 가입을 할 때 들어와야 할 데이터가 들어오지 않아 예외 처리를 해야 하는 상황 입니다. 1. 커스텀 예외 클래스 작성 ( FieldDataException ) impor..
Spring, Spring Boot
순서 Spring Boot에서 Spring Batch는 다음의 작업을 통해 사용할 수 있습니다. 의존성 추가 DB에 Batch를 위한 테이블들 생성 Config 클래스 작성 JobLauncher로 Job 실행 하나씩 알아보겠습니다. 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-batch' build.gradle에 의존성을 추가하고 코끼리 표시를 눌러 라이브러리들을 다운받습니다. DB에 Batch를 위한 테이블들 생성 Spring Batch를 실행시키기 위해 Spring Batch를 관리하기 위해 사용하는 테이블들이 Spring Boot에 연결된 DB에 있어야 합니다. 이 테이블들의 SQL은 다운받은 라이브러리 안에 있습니다. S..
순서 AOP를 Spring Boot에서 실행하기 위해 다음의 단계들을 거칩니다. 의존성 추가 Application에 Annotation 추가 Aspect 파일 생성 메소드 생성 실행 범위 지정 실행 코드 구현 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-aop' Application에 Annotation 추가 @EnableAspectJAutoProxy 이 어노테이션을 어플리케이션 클래스에 추가합니다. @SpringBootApplication @EnableAspectJAutoProxy // aop 사용 public class UserApplication { public static void main(String[] args) { ..
AOP란? AOP란 Aspect Oriented Programming의 약어로 '관점 지향 프로그래밍'이란 뜻 입니다. 비즈니스 로직은 실제 데이터를 처리하는 핵심 로직과 log, 성능 체크와 같은 비핵심 로직이 있습니다. 이 비핵심 로직의 여러 클래스, 메소드에 걸쳐 사용되는 공통적인 기능들입니다. 즉, 비슷한 내용의 코드들이 메소드, 클래스마다 반복되여 코드를 보기 어렵고 비효율적으로 만듭니다. 이에 개발자들은 비핵심 로직을 모듈화하여 필요할 때 마다 가져다 쓰는 것으로 바꾸어 효율성을 높였습니다. 모듈화 된 비핵심 로직을 Aspect(관점)라 하며 비핵심 로직을 모듈화하여 프로그래밍하는 것을 AOP라 합니다. Aspect의 대상으로는 log, 성능 체크, 에러 처리 등이 있습니다. AOP 장점 코드..