Spring Framework(182)
-
RootBeanDefinition
Spring의 org.springframework.beans.factory.support.RootBeanDefinition 클래스에 대한 설명은, Spring의 빈 정의 메타데이터 처리 과정에서 핵심적인 역할을 담당하는 클래스를 이해하는 데 매우 중요합니다. 아래에서는 해당 내용을 구조적으로 분석하고, Java 기반 구성 메타데이터(Java Config) 관점에서 실제 사용과 연결해 상세히 해석해드리겠습니다. 🔍 핵심 개념 요약RootBeanDefinition은 최종 병합된 형태의 Bean 정의를 나타냅니다. 상속 관계에 따라 여러 BeanDefinition이 존재할 수 있는데, 이들을 병합해서 런타임에 사용할 수 있는 하나의 정의로 만든 것이 바로 RootBeanDefinition입니다. 📘 문장별..
2025.05.19 -
DefaultListableBeanFactory의 확장성이란?
DefaultListableBeanFactory의 확장성과 BeanPostProcessor/BeanFactoryPostProcessor의 관계를 설명해 드리겠습니다.📌 1️⃣ DefaultListableBeanFactory의 확장성이란?✔ DefaultListableBeanFactory는 스프링의 핵심 Bean Factory로, 빈을 생성, 관리, 검색, 조작할 수 있는 다양한 기능을 제공합니다.✔ 확장성이 뛰어나다는 의미는 단순히 정적인 빈 관리가 아니라, 실행 중 동적으로 빈을 조작할 수 있는 다양한 확장 포인트를 제공한다는 뜻입니다.✔ 대표적인 확장 포인트가 바로 BeanPostProcessor와 BeanFactoryPostProcessor 입니다.📌 즉, DefaultListableBeanFa..
2025.03.06 -
BeanPostProcessor / BeanFactoryPostProcessor
📌 BeanPostProcessor 및 BeanFactoryPostProcessor 완전 정리 🚀DefaultListableBeanFactory는 스프링의 핵심 빈 팩토리 구현체로 확장성이 뛰어나며, BeanPostProcessor와 BeanFactoryPostProcessor를 통해 빈의 생성, 초기화, 및 라이프사이클을 조작할 수 있습니다. 📌 1️⃣ DefaultListableBeanFactory의 확장성 개요스프링은 빈의 생성, 초기화, 의존성 주입, 소멸 등 다양한 단계에서 개입할 수 있는 확장 포인트를 제공합니다.특히 BeanPostProcessor와 BeanFactoryPostProcessor는 스프링 컨테이너 내부에서 자동으로 실행되며,빈이 생성되거나 컨테이너가 초기화될 때 추가적인 ..
2025.03.06 -
CORS
📌 Spring MVC의 CORS (Cross-Origin Resource Sharing) 정리🔹 1️⃣ CORS란?CORS(Cross-Origin Resource Sharing)는 다른 도메인에서 AJAX Request을 허용할지 결정하는 보안 정책입니다.웹 브라우저는 보안 문제로 인해 같은 출처(Same-Origin)의 요청만 허용하며,다른 출처(Origin)에서 오는 Request는 기본적으로 차단됩니다.✔ 같은 출처(Same-Origin) 요청 예시✅ https://example.com → https://example.com/api/data (허용)✔ 다른 출처(Cross-Origin) 요청 예시❌ https://evil.com → https://example.com/api/data (차단)?..
2025.03.05 -
URI Links
📌 Spring에서 URI(Uniform Resource Identifier) 다루기 정리Spring은 URI를 동적으로 생성, 파싱, 인코딩 및 링크 작성하는 다양한 기능을 제공합니다.이를 통해 RestTemplate, WebClient, 컨트롤러, 뷰(JSP, Thymeleaf) 등에서 URI를 보다 유연하게 구성할 수 있습니다.🔹 1️⃣ UriComponents 및 UriComponentsBuilderSpring에서는 UriComponentsBuilder를 사용하여 동적으로 URI를 생성할 수 있습니다.URI 템플릿을 사용하여 변수를 포함한 동적 URI를 쉽게 생성할 수 있습니다.📍 ✔ 기본 사용법UriComponents uriComponents = UriComponentsBuilder ..
2025.03.05 -
HATEOAS(Hypermedia as the Engine of Application State)
🌐 HATEOAS(Hypermedia as the Engine of Application State) 상세 설명🔥 1. HATEOAS란?HATEOAS(Hypermedia as the Engine of Application State)는 REST API의 확장 개념으로,클라이언트가 별도의 API 문서 없이도 응답 데이터에 포함된 하이퍼링크를 사용하여 동적으로 리소스를 탐색할 수 있도록 하는 기법입니다.✅ 즉, API 응답에 다음 가능한 액션(링크)을 포함하여, API 사용자가 이를 보고 자연스럽게 API를 활용할 수 있도록 하는 것! 📌 REST API vs HATEOASREST APIHATEOAS요청에 대해 JSON/XML 응답 반환응답에 추가 가능한 링크(URI) 포함API 문서를 따로 확인해야 ..
2025.03.03