Backend/SpringBoot3 Spring Boot에서 일관된 API 응답을 위한 예외 처리 전략 개요API를 개발하면서 처음엔 ResponseEntity를 사용해서 응답을 세밀하게 제어할 수 있다는 점이 유용하다고 생각했다. 그런데 데이터를 반환할 때와 없을 때 응답 포맷이 달라지면서 클라이언트가 이를 일관되게 처리 하기 어렵다는 문제를 겪게 되었다. 그래서 찾아보니 공통 응답 포맷을 도입해서 모든 API가 같은 구조로 응답을 반환하도록 할 수 있다는걸 알았다. 그런데 공통 응답 포맷을 도입하고 나니, 예외가 발생했을 떄의 처리도 일관되게 관리할 필요가 있다는 생각이 들었다. 예를 들어, 특정 데이터를 찾을 수 없을 때 마다 각 API에서 예외를 처리하는 방식이 달라지면 유지보수에 어려움이 생긴다. 그래서 글로벌 예외 처리 방식을 도입하여, 모든 예외를 한 곳에서 처리하고, 예외 발생 시에도 일관된.. 2025. 3. 27. Spring Event (이벤트 발행과 구독 ..) 개요도메인 주도 개발 책을 읽던 중 ‘이벤트 소싱’에 대한 내용을 접하고 이를 스프링 애플리케이션에서 어떻게 활용할 수 있을지 고민했습니다. 그 과정에서 스프링 이벤트를 알게 되었고, 이 두 가지 개념을 어떻게 활용할 수 있을지 정리해 보았다. 스프링 이벤트란?스프링 이벤트는 애플리케이션 내에서 특정 이벤트가 발생하면, 이를 구독하고 있는 리스너가 해당 이벤트를 처리하는 구조를 제공한다. 주로 애플리케이션 내부 모듈 간 통신을 느슨하게 유지하면서, 작업을 비동기로 처리하는데 유용하다.이벤트 발행을 위해서는 ApplicationEventPublisher를 주입받아 사용해야한다.이벤트 구독을 위해서는 @EventListner를 사용해야한다. 스프링 이벤트 구성 요소이벤트 클래스 (Event Class) :.. 2024. 8. 27. 의존성 주입( Dependency Injection, Di ..) 개요의존성 주입이란, 객체가 필요한 의존성을 외부에서 전달받는 것이다. 스프링에서는 이 괒어을 컨테이너가 자동으로 처리해주기 때문에, 개발자는 객체 생성이나 의존성 관리에 대해 신경쓰지 않고 애플리케이션 로직에만 집중할 수 있다.예시평화로운 주말 오후 나는 커피를 마시고 싶다. 커피를 만들기 귀찮으므로 원두를 씹어먹을수도 있겠지만(?) 정제된 커피가 먹고 싶다.커피를 위해서 필요한건 커피머신, 원두, 물, 컵 등이 있다.의존성커피머신만 있다고 해서 커피를 얻을 수 없다.커피머신으로 커피를 만들기 위해서는 재료들이 제공 되어야한다.커피머신은 재료인 원두, 물, 컵 등에 의존적이다의존성 주입나는(스프링 컨테이너) 커피 머신에 필요한 재료들을 미리 준비하고, 커피 머신에 넣어준다. → 이것이 바로 의존성 주입.. 2024. 8. 26. 이전 1 다음