Java/Spring 4

[Spring] Filter와 Interceptor의 차이 정리

1. 개요Spring MVC기반 웹 애플리케이션에서는 요청(Request)와 응답(Response)이 Controller에 도달하기 전 후로다양한 처리가 필요한 경우가 많다.(예: 로그인 세션 확인, 인코딩 설정, 접근 권한 체크, 로깅 등) 이때 사용할 수 있는 대표적인 두 가지 기술이 바로 Filter와 Interceptor이다. 2. Filter (javax.servlet.Filter)개념Servlet 표준 스펙에서 제공하는 기능이다.DispatcherServlet 이전 단계에서 모든 요청을 가로채서 전처리/후처리 가능.Spring MVC에 종속되지 않고, 톰캣/JEUS 등 Servlet 컨테이너 레벨에서 동작한다. 적용 시점Client → Filter → DispatcherServlet → C..

Java/Spring 2025.10.31

[Spring] Spring Framework vs Spring Boot 비교 정리

1. 개념과 철학의 차이Spring Framework는 개발자가 직접 조립하는 구조이다.각 설정파일을 직접 관리하고, 필요한 라이브러리 버전도 일일히 맞춰야 했다. 반면 Spring Boot는 "실행 중심 프레임워크" 이다.내장 서버와 자동 설정을 통해 실행만 하면 바로 서비스가 구동된다.구분 Spring Framework Spring Boot 핵심 철학개발자가 설정하고 조립설정 자동화 + 실행 중심실행 구조외부 WAS 기반내장 WAS 포함 (Tomcat 등)진입점web.xml → DispatcherServletmain() → SpringApplication.run() 2. 설정 구조의 진화Spring 시절에는 web.xml, root-context.xml, servlet-context.xml 등 ..

Java/Spring 2025.10.29

[Spring] 자주 사용하는 어노테이션 정리 및 예시

Spring Framework는 객체를 관리하고 계층 간 의존성을 자동 주입하기 위해 다양한 어노테이션을 제공한다.이 중 실제 개발 현장에서 자주 사용되는 핵심 어노테이션들을 중심으로 설명한다. 1. @Component, @Service, @Repository, @Controller이 네 가지는 Spring Bean 등록용 어노테이션이다.즉, Spring이 해당 클래스를 컨테이너에서 관리하도록 등록하는 역할을 한다.내부적으로는 모두 @Component를 기반으로 하며, 역할에 따라 의미만 다르다. (1) @Component가장 기본적인 Bean 등록용 어노테이션이다.Helper, Util, Validator 등 특정 계층에 속하지 않는 일반 클래스를 Bean으로 등록할 때 사용한다.import org.s..

Java/Spring 2025.10.28

[Spring] 순서 의존 AOP로 인해 파라미터 순서만 바꿔도 코드가 동작하지 않은 이유

1. 문제 상황Spring MVC 기반 프로젝트에서 로그아웃 기능을 점검하던 중, 동일한 기능을 하는 두 메서드 중 하나는 정상 동작하고 다른 하나는 아무 반응이 없었다. 두 메서드는 코드 한 줄 다르지 않았고, 단지 파라미터 순서만 달랐다. // 정상 동작@RequestMapping("/logout")public String logout(HttpServletRequest request, @ModelAttribute UserContext userContext, HttpServletResponse response) { ... }// 동작 안 함@RequestMapping("/logout")public String logout(HttpS..

Java/Spring 2025.10.21
반응형