2026/10(5)
-
ETC./Spring
2026.10.07
[Spring] 스프링 전역 예외 처리 - @ExceptionHandler와 @RestControllerAdvice 사용법
개발을 하다보면 예외는 반드시 발생합니다. 이때 아무 처리도 하지 않으면 클라이언트는 스프링의 기본 에러 응답이나 스택 트레이스가 섞인 응답을 받게 되죠. 그렇다고 컨트롤러마다 try-catch를 넣으면 코드가 금방 지저분해집니다. 스프링은 이 문제를 해결하기 위해 @ExceptionHandler와 @ControllerAdvice를 제공합니다. 이 기능은 예외 처리 로직을 한곳에 모아두고, 어떤 예외가 발생하든 일관된 형태로 응답할 수 있게 해 주는 도구인데요. 이번 포스팅에서는 자바 예외의 기본 구조부터 시작해 두 어노테이션의 사용법과 우선순위까지 정리해보도록 하겠습니다. 자바 예외 구조 먼저 짚고 가기스프링의 예외 처리를 이해하려면 자바 예외 클래스의 계층 구조를 먼저 알면 좋습니다. 어떤 핸들러가 ..
-
ETC./Spring
2026.10.06
1
[Spring] 스프링 Argument Resolver란 무엇인가?
컨트롤러 메서드에 @RequestParam String name이라고 적으면 스프링이 쿼리 스트링에서 값을 꺼내 넣어주고,@RequestBody UserRequest body라고 적으면 JSON을 객체로 바꿔서 넣어줍니다. 이걸 당연하게 써 왔지만, 누가 어떻게 해주는 걸까요? 그 역할을 하는 것이 Argument Resolver입니다. 이번 글에서는 Argument Resolver가 무엇인지, 스프링이 기본으로 제공하는 것들은 어떤 게 있는지, 그리고 직접 만들어서 로그인 사용자 정보를 컨트롤러에 깔끔하게 넘기는 방법까지 정리하겠습니다. Argument Resolver란?먼저 컨트롤러 메서드가 호출되려면 파라미터에 들어갈 값이 준비되어야 합니다. 그런데 파라미터의 종류는 다양합니다. 쿼리 스트링에서 꺼..
-
ETC./Spring
2026.10.04
[Spring] 스프링 필터(Filter) vs 인터셉터(Interceptor) 차이점과 선택 기준 총정리
지금까지 두 편에 걸쳐 스프링 필터와 인터셉터를 각각 살펴봤습니다. 둘 다 "요청이 컨트롤러에 도착하기 전에 공통 작업을 처리한다"는 점은 같은데, 그렇다면 실무에서는 어떤 상황에 무엇을 써야 할까요? 이번 포스팅에서는 두 도구를 나란히 놓고 비교하면서 선택 기준을 정리해보도록 하겠습니다. ※ 스프링 필터와 인터셉터의 정의가 궁금하시다면 아래 글을 참고해 주세요.[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리 스프링 필터, 인터셉터 요약 정리앞의 글을 읽지 않으신 분들을 위해 핵심만 짚고 가자면 먼저 필터는 자바 서블릿 표준 스펙입니다. 톰캣 같은 서블릿 컨테이너가 관리하고, 스프링..
-
ETC./Spring
2026.10.03
1
[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리
지난 글에서는 스프링 필터에 대해 알아봤습니다. 필터는 서블릿 컨테이너 레벨, 즉 스프링 바깥에서 모든 요청을 가장 먼저 처리하는 도구였는데요. 웹 요청은 이렇게 필터를 지나 DispatcherServlet으로 들어오고, 그 안에서 컨트롤러에 도착하기 직전에 한 번 더 처리 지점을 거칩니다. 이 지점이 스프링 MVC가 제공하는 인터셉터(Interceptor)입니다. 인터셉터는 필터와 하는 일은 비슷하지만 스프링 안에서 동작하기 때문에 할 수 있는 일이 조금 다릅니다. 이번 글에서는 인터셉터가 무엇인지, 어떻게 만들고 등록하는지, 그리고 세 가지 메서드가 각각 언제 실행되는지를 예제와 함께 정리하겠습니다. [Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링..
-
ETC./Spring
2026.10.01
2
[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리
웹 서비스를 만들다 보면 로그인 여부 확인, 요청 로그 남기기, 언어 인코딩 설정처럼 모든 API에 공통으로 들어가야 하는 작업이 생깁니다. 이런 코드를 컨트롤러마다 반복해서 넣는 것은 번거롭고 누락하기도 쉬운데요. 건물에 들어갈 때 출입구에서 신분증을 한 번만 확인하듯, 요청이 컨트롤러에 도착하기 전에 공통 작업을 한 번에 처리하는 도구가 스프링에는 두 가지 있습니다. 바로 서블릿 필터(Filter)와 스프링 인터셉터(Interceptor)입니다. 이번 글은 먼저 서블릿 필터에 대해 써보려고 합니다. 필터가 무엇인지, 어디에서 동작하는지, 어떻게 구현하고 등록하는지, 그리고 자주 쓰는 패턴까지 정리해보도록 하겠습니다. [Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법..
-
ETC./Spring 2026.10.07[Spring] 스프링 전역 예외 처리 - @ExceptionHandler와 @RestControllerAdvice 사용법 개발을 하다보면 예외는 반드시 발생합니다. 이때 아무 처리도 하지 않으면 클라이언트는 스프링의 기본 에러 응답이나 스택 트레이스가 섞인 응답을 받게 되죠. 그렇다고 컨트롤러마다 try-catch를 넣으면 코드가 금방 지저분해집니다. 스프링은 이 문제를 해결하기 위해 @ExceptionHandler와 @ControllerAdvice를 제공합니다. 이 기능은 예외 처리 로직을 한곳에 모아두고, 어떤 예외가 발생하든 일관된 형태로 응답할 수 있게 해 주는 도구인데요. 이번 포스팅에서는 자바 예외의 기본 구조부터 시작해 두 어노테이션의 사용법과 우선순위까지 정리해보도록 하겠습니다. 자바 예외 구조 먼저 짚고 가기스프링의 예외 처리를 이해하려면 자바 예외 클래스의 계층 구조를 먼저 알면 좋습니다. 어떤 핸들러가 .. -
ETC./Spring 2026.10.06 1[Spring] 스프링 Argument Resolver란 무엇인가? 컨트롤러 메서드에 @RequestParam String name이라고 적으면 스프링이 쿼리 스트링에서 값을 꺼내 넣어주고,@RequestBody UserRequest body라고 적으면 JSON을 객체로 바꿔서 넣어줍니다. 이걸 당연하게 써 왔지만, 누가 어떻게 해주는 걸까요? 그 역할을 하는 것이 Argument Resolver입니다. 이번 글에서는 Argument Resolver가 무엇인지, 스프링이 기본으로 제공하는 것들은 어떤 게 있는지, 그리고 직접 만들어서 로그인 사용자 정보를 컨트롤러에 깔끔하게 넘기는 방법까지 정리하겠습니다. Argument Resolver란?먼저 컨트롤러 메서드가 호출되려면 파라미터에 들어갈 값이 준비되어야 합니다. 그런데 파라미터의 종류는 다양합니다. 쿼리 스트링에서 꺼.. -
ETC./Spring 2026.10.04[Spring] 스프링 필터(Filter) vs 인터셉터(Interceptor) 차이점과 선택 기준 총정리 지금까지 두 편에 걸쳐 스프링 필터와 인터셉터를 각각 살펴봤습니다. 둘 다 "요청이 컨트롤러에 도착하기 전에 공통 작업을 처리한다"는 점은 같은데, 그렇다면 실무에서는 어떤 상황에 무엇을 써야 할까요? 이번 포스팅에서는 두 도구를 나란히 놓고 비교하면서 선택 기준을 정리해보도록 하겠습니다. ※ 스프링 필터와 인터셉터의 정의가 궁금하시다면 아래 글을 참고해 주세요.[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리 스프링 필터, 인터셉터 요약 정리앞의 글을 읽지 않으신 분들을 위해 핵심만 짚고 가자면 먼저 필터는 자바 서블릿 표준 스펙입니다. 톰캣 같은 서블릿 컨테이너가 관리하고, 스프링.. -
ETC./Spring 2026.10.03 1[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리 지난 글에서는 스프링 필터에 대해 알아봤습니다. 필터는 서블릿 컨테이너 레벨, 즉 스프링 바깥에서 모든 요청을 가장 먼저 처리하는 도구였는데요. 웹 요청은 이렇게 필터를 지나 DispatcherServlet으로 들어오고, 그 안에서 컨트롤러에 도착하기 직전에 한 번 더 처리 지점을 거칩니다. 이 지점이 스프링 MVC가 제공하는 인터셉터(Interceptor)입니다. 인터셉터는 필터와 하는 일은 비슷하지만 스프링 안에서 동작하기 때문에 할 수 있는 일이 조금 다릅니다. 이번 글에서는 인터셉터가 무엇인지, 어떻게 만들고 등록하는지, 그리고 세 가지 메서드가 각각 언제 실행되는지를 예제와 함께 정리하겠습니다. [Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링.. -
ETC./Spring 2026.10.01 2[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리 웹 서비스를 만들다 보면 로그인 여부 확인, 요청 로그 남기기, 언어 인코딩 설정처럼 모든 API에 공통으로 들어가야 하는 작업이 생깁니다. 이런 코드를 컨트롤러마다 반복해서 넣는 것은 번거롭고 누락하기도 쉬운데요. 건물에 들어갈 때 출입구에서 신분증을 한 번만 확인하듯, 요청이 컨트롤러에 도착하기 전에 공통 작업을 한 번에 처리하는 도구가 스프링에는 두 가지 있습니다. 바로 서블릿 필터(Filter)와 스프링 인터셉터(Interceptor)입니다. 이번 글은 먼저 서블릿 필터에 대해 써보려고 합니다. 필터가 무엇인지, 어디에서 동작하는지, 어떻게 구현하고 등록하는지, 그리고 자주 쓰는 패턴까지 정리해보도록 하겠습니다. [Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법..