BackEnd/Spring3 [Spring] 스프링 예외처리 동작원리(feat. ControllerAdvice) 토비의 스프링을 읽다가... 스프링의 예외처리 방법 중 가장 대중적으로 많이 사용되는 ControllerAdvice의 동작원리를 한 번 알아보고 싶어서 정리해 본다. 1 2 3 4 5 6 7 8 @RestControllerAdvice public class ExceptionHandlerController { @ExceptionHandler(ExampleException.class) public ResponseEntity exception(ExampleException e) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); } } Colored by Color Scripter cs 개발 시 예외처리를 .. BackEnd/Spring 2024. 2. 25. [Spring] Spring Bean 이란? 스프링 빈(Spring Bean) 이란? Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 한다. IoC의 특징 일반적인 자바는 모든 작업을 사용자가 제어하는 구조이다. A 객체에서 B 객체에 있는 메소드를 사용하려면 A 객체 내에서 B 객체를 직접 생성하고 메소드를 호출한다. 즉, 각 객체들이 프로그램의 흐름을 결정하고 각 객체를 직접 생성/조작하는 작업을 한다. 하지만 IoC가 적용된 경우, 객체의 생성을 특별한 관리 위임 주체에게 맡긴다. 이 때 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 된다. 즉 사용자의 제어권을 다른 주체에게 넘기는 것을 IoC(제어의 역전)라고 한다. 우리는 일반적으로 자바에서 Class를 생성하고 new를 입력.. BackEnd/Spring 2022. 10. 10. [Spring] @Transactional 제대로 알고 사용하기 트랜잭션이란? 비즈니스 로직에서 쪼갤 수 없는 하나의 작업 단위이다. 데이터베이스의 상태를 변경하며 한 번에 수행되어야 한다. begin, commit 을 자동으로 수행해주며, exception 발생 시 자동 rollback 처리해준다. 처리 방법 스프링에서 어노테이션 방식으로 메소드, 클래스, 인터페이스 위에 추가하여 사용한다. 이 방식을 선언적 트랜잭션이라고 부르며, 적용된 범위에서는 트랜잭션 기능이 포함된 프록시 객체가 생성되어 자동으로 commit / rollback 시켜준다. @Transactional 옵션 1. isolation 트랜잭션에서 일관성없는 데이터 허용 수준을 설정 2. propagation 트랜잭션 동작 도중 다른 트랜잭션을 호출할 때, 어떻게 할 것인지 지정하는 옵션 3. noR.. BackEnd/Spring 2022. 10. 3. 이전 1 다음