LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (101)
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (12)
    • RDBMS (19)
    • Spring Framework (12)
    • HTTP (9)
    • Spring Webflux (2)
    • Java (18)
    • System Design (12)
    • Spring Data JDBC (5)
    • Spring Security (5)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)
    • MSA (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

Spring Framework

  • Spring Boot의 @ControllerAdvice와 @RestControllerAdvice 정리

    2026.01.03 by Wanderer Kim

  • Spring ComponentScan annotation에 대하여

    2025.12.15 by Wanderer Kim

  • Spring Boot Application Event 전체 흐름

    2025.12.14 by Wanderer Kim

  • Spring Framework 7's Bean Registrar

    2025.12.07 by Wanderer Kim

  • Spring Boot 4 에서 의 API versioning

    2025.12.02 by Wanderer Kim

  • DispatcherServlet이란?

    2025.05.20 by Wanderer Kim

  • Spring MVC 구조

    2025.05.20 by Wanderer Kim

  • ModelAndView란?

    2025.05.17 by Wanderer Kim

Spring Boot의 @ControllerAdvice와 @RestControllerAdvice 정리

왜 ControllerAdvice가 필요한가?Controller에서 직접 try-catch 하는 경우@GetMapping("/orders/{id}")public OrderResponse getOrder(@PathVariable Long id) { try { return orderService.findById(id); } catch (Exception e) { throw new RuntimeException(e); }}이 방식의 문제점:Controller 코드가 더러워짐예외 처리 정책이 흩어짐응답 포맷 통일 불가전역 예외 처리의 필요성Spring은 이를 위해 전역 예외 처리 메커니즘을 제공한다. 그 핵심이 바로 @ControllerAdvice와 @RestContro..

Spring Framework 2026. 1. 3. 19:33

Spring ComponentScan annotation에 대하여

@ComponentScan이란?@ComponentScan은 Spring 컨테이너가 Bean으로 등록할 클래스를 자동으로 탐색하도록 지시하는 어노테이션입니다.한 문장으로 정리하면 다음과 같습니다.@ComponentScan은 지정된 패키지부터 하위 패키지까지 스캔하면서@Component 계열 어노테이션이 붙은 클래스를 Bean으로 등록하는 기능이다.왜 @ComponentScan이 필요한가?Spring은 기본적으로 모든 클래스를 Bean으로 만들지 않습니다.그 이유는 다음과 같습니다.불필요한 객체 생성을 방지하기 위해애플리케이션 구조를 명확히 하기 위해의존성 관리와 테스트를 쉽게 하기 위해따라서 Spring은 다음 두 가지 정보가 필요합니다.이 클래스가 Bean인지 (@Component 계열)어디까지 탐색할 ..

Spring Framework 2025. 12. 15. 22:19

Spring Boot Application Event 전체 흐름

Spring Boot 애플리케이션은 실행 과정에서 여러 Application Event를 순차적으로 발생시킵니다.이 이벤트 흐름을 이해하면 다음을 명확히 알 수 있습니다.애플리케이션이 언제 어떤 상태인지초기화 로직을 어디에 두는 것이 안전한지Runner와 ApplicationReadyEvent를 어떻게 구분해서 써야 하는지이 글에서는 Spring Boot Application Event 전체 흐름을 실행 순서 기준으로 정리하고,각 이벤트마다 실제 예제 코드를 함께 설명합니다.1. Spring Boot Application Event란?Spring Boot는 애플리케이션 시작부터 종료까지의 주요 시점마다 이벤트(Event) 를 발행합니다.SpringApplication.run() → 이벤트 발생 → 리..

Spring Framework 2025. 12. 14. 18:52

Spring Framework 7's Bean Registrar

Spring 애플리케이션에서 Bean을 등록하는 것은 핵심적인 작업입니다. Spring Framework 7 이전에서는 @Component, @Service, @Repository와 같은 스테레오 타입 annotation이나 @Configuration 클래스 내의 @Bean 메서드를 사용하여 선언적으로 빈을 등록합니다.하지만 특정 조건에 따라 동적으로 빈을 등록하거나, 유사한 빈을 대량으로 생성해야 하는등 프로그래밍(Programmatic) 방식으로 빈을 등록해야 하는 복잡한 시나리오가 종종 발생합니다.Spring Framework 7 에서는 이러한 프로그래밍 방식의 빈 등록을 훨씬 깔끔하고 유연하며, AOT 최적화에 진화적으로 만들 수 잇는 새로운 인터페이스인 BeanRegistrat를 도입했습니다.B..

Spring Framework 2025. 12. 7. 00:31

Spring Boot 4 에서 의 API versioning

이번에 Spring Boot 4가 정식으로 릴리즈되면서 여러가지 유용한 기능들이 추가되었는데요. 그중에 API versioning에 대해서 살펴보도록 하겠습니다.그동안 spring framework에서 표준적으로 제공되는 것이 아닌 개발자가 팀과 합의 후 직접 적용해야 했는데요, Spring Boot 4에서는 이런 API versioning에 대한 표준 방법을 framework에서 지원해줘서 개발자가 해야하는 일이 많이 줄어 들었습니다.API versioning의 장점framework에서 지원해주는 interface를 사용하면 그동안 개발자가 작성해야 했던 많은 코드를 줄일 수 있습니다.표준화된 interface를 제공해줍니다.Spring ecosystem과의 호환성이 매우 좋습니다.API version..

Spring Framework 2025. 12. 2. 04:47

DispatcherServlet이란?

Spring MVC에서는 HandlerMapping, HandlerAdapter, ViewResolver 관련 공통된 작업을 DispatcherServlet에서 처리하도록 구현 해놨다. DispatcherServlet에 대해서 알아보자.DispatcherServlet 서블릿 등록DispatcherServlet도 부모 클래스에서 HttpServlet를 상속 받아서 사용하고, 서블릿으로 동작한다.DispatcherServlet -> FrameworkServlet -> HttpServletBean -> HttpServletSpring Boot는 DispatcherServlet을 서블릿으로 자동 등록하면서 모든 경로(urlPatterns="/")에 대해서 매핑한다.더 자세한 경로가 우선순위가 높다. 그래서 기..

Spring Framework 2025. 5. 20. 23:24

Spring MVC 구조

Spring MVC의 전체적인 구조를 훑어보고 http 요청이 spring mvc에서 어떻게 흘러가는지 정리해 보았따. Spring MVC 구조spring mvc구조에서 http 요청이 들어왔을 때 동작 순서는 아래와 같다.핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.핸들러 어댑터 실행: 핸들러 어댑터를 실행한다.핸들러 실행: 핸들러 어댑터가 실제 핸들러를 실행한다.ModelAndView 반환: 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다.ViewResolver 호출: ViewResolver를 찾고 실행한다. ViewResolver는 view의 논리 이름으..

Spring Framework 2025. 5. 20. 17:53

ModelAndView란?

Spring MVC에서 ModelAndView는 컨트롤러가 뷰에 데이터를 전달하고, 동시에 어떤 뷰를 사용할지 지정할 수 있느 ㄴ개체입니다. 즉, 모델 데이터와 뷰 이름을 함께 관리하는 편리한 클래스이다. 아래 코드는 ModelAndView 클래스의 정의 부분이다.public class ModelAndView { /** View instance or view name String. */ @Nullable private Object view; /** Model Map. */ @Nullable private ModelMap model; /** Optional HTTP status for the response. */ @Nullable private HttpStatusCode status; /** Indica..

Spring Framework 2025. 5. 17. 23:39

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바