Spring Framework(167)
-
static @Bean 팩토리 메서드란
Spring의 자바 기반 구성 메타데이터(Java-based configuration metadata)에서 @Bean 어노테이션이 붙은 팩토리 메서드(factory method)가 static으로 선언된다는 것은, Spring이 그 메서드를 실행할 때 해당 구성 클래스(@Configuration)를 인스턴스화하지 않고도 호출할 수 있다는 의미입니다. 📌 핵심 정리: static @Bean 팩토리 메서드란?@Configurationpublic class AppConfig { @Bean public static MyService myService() { return new MyService(); // static 팩토리 메서드 }}이처럼 @Bean 메서드에 static을 붙이면..
2025.05.19 -
GenericBeanDefinition
🧩 원문 요약GenericBeanDefinition은 선언적 빈 정의를 위한 "원스톱 샵(one-stop shop)" 클래스이며, 동적으로 부모-자식 관계 설정이 가능합니다.주로 XML 기반 구성이나 설정 단계에서 유연하게 빈을 정의할 수 있도록 사용되며, 병합 이후에는 RootBeanDefinition이 실제로 사용됩니다. 📘 문장별 상세 해석 및 분석 📌 문장 1:GenericBeanDefinition is a one-stop shop for declarative bean definition purposes.✅ 해석GenericBeanDefinition은 선언적 방식(declarative)의 빈 정의에 필요한 기능들을 한 곳에서 처리할 수 있는 범용(bean definition) 도구 클래스입니..
2025.05.19 -
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