Spring Boot/Spring Boot Auto Configuration(18)
-
Spring Boot Auto-Configuration
Spring Boot의 자동 구성(auto-configuration)은 매우 세밀하게 설계된 프로세스로, 애플리케이션이 시작될 때 필요한 다양한 설정을 자동으로 처리합니다. 이 과정을 단계별로 상세하게 설명하겠습니다. 각 클래스와 메커니즘이 어떻게 상호작용하는지를 살펴보며, 최종적으로 자동 구성이 어떻게 이루어지는지 깊이 이해할 수 있도록 하겠습니다.1. 애플리케이션 시작: @SpringBootApplication, @EnableAutoConfiguration, @AutoConfigurationPackageSpring Boot 애플리케이션이 시작될 때, 개발자는 일반적으로 @SpringBootApplication 애노테이션을 사용합니다. 이 애노테이션은 내부적으로 세 가지 중요한 애노테이션을 포함하고 있..
2024.10.18 -
ConfigurationClassPostProcessor
ConfigurationClassPostProcessor는 스프링 프레임워크에서 매우 중요한 역할을 하는 클래스 중 하나로, @Configuration을 기반으로 하는 Java 기반의 설정 클래스를 처리하고 관리하는 핵심 빈 팩토리 후처리기(BeanFactoryPostProcessor)입니다. 이 클래스는 주로 빈 정의를 읽고, 분석하며, 이를 바탕으로 빈을 등록하는 과정을 수행합니다. 특히 Spring 3.0 이후 Java 기반 설정 클래스가 도입되면서 더욱 중요한 역할을 하게 되었습니다.1. 주요 역할ConfigurationClassPostProcessor는 스프링에서 애노테이션 기반 설정을 처리하는 과정에서 중요한 역할을 합니다. 주요 작업은 다음과 같습니다:@Configuration, @Compo..
2024.10.18 -
DefaultListableBeanFactory
DefaultListableBeanFactory는 스프링 프레임워크의 핵심 클래스 중 하나로, 스프링의 빈 팩토리(BeanFactory)와 애플리케이션 컨텍스트(ApplicationContext)에서 빈을 정의하고 관리하는 역할을 담당하는 빈 팩토리의 기본 구현체입니다. DefaultListableBeanFactory는 스프링이 빈들을 등록하고 검색하며, 주입하고 관리하는 과정의 중심에 위치한 클래스입니다.1. 역할 및 특징DefaultListableBeanFactory는 여러 인터페이스를 구현하여 다양한 기능을 제공합니다. 주로 다음과 같은 특징을 가집니다:BeanFactory의 구현체: 스프링에서 빈을 관리하는 최상위 인터페이스인 BeanFactory의 구현체로서, 빈을 생성하고 관리하는 기능을 제공..
2024.10.18 -
ConfigurationClassParser
ConfigurationClassParser는 Spring 프레임워크의 핵심 클래스 중 하나로, 애플리케이션의 설정 클래스를 파싱하고 분석하여 Spring 컨테이너에 빈 정의를 등록하는 역할을 합니다. 주로 @Configuration, @Component, @ComponentScan, @Import 등과 같은 어노테이션을 처리하고, 설정 정보를 기반으로 빈을 생성할 수 있도록 설정 클래스의 메타데이터를 추출합니다. 이 클래스는 Spring 컨테이너에서 Java 기반 설정을 사용하는 애플리케이션의 설정 과정을 관리하는 매우 중요한 컴포넌트입니다.1. ConfigurationClassParser의 주요 역할ConfigurationClassParser는 Spring이 Java 기반 설정 클래스를 읽고 빈 정의..
2024.10.18 -
PostProcessorRegistrationDelegate
PostProcessorRegistrationDelegate는 Spring Framework에서 매우 중요한 클래스이며, 주로 BeanFactoryPostProcessor와 BeanPostProcessor의 등록 및 실행 과정을 관리합니다. 이 클래스는 Spring의 빈 초기화 과정에서 다양한 후처리기를 적절한 순서로 등록하고 실행하는 역할을 하며, 빈 생성 및 설정 과정에서 사용자 정의 로직을 포함할 수 있도록 확장성을 제공합니다.Spring의 후처리기 (Post Processors)Spring에는 두 가지 주요 후처리기 타입이 있습니다:BeanFactoryPostProcessor: 빈 객체들이 생성되기 전에 BeanFactory를 조작할 수 있는 후처리기입니다. 예를 들어, PropertyPlaceh..
2024.10.18 -
AnnotationConfigServletWebServerApplicationContext
AnnotationConfigServletWebServerApplicationContext는 Spring Boot에서 서블릿 기반의 웹 애플리케이션을 실행할 때 사용하는 ApplicationContext의 한 구현체입니다. 이 클래스는 Java Config 기반 설정을 지원하는 동시에, 서블릿 컨테이너와의 통합을 제공하여, 웹 애플리케이션이 동작하는 데 필요한 컨텍스트를 설정하고 관리합니다.Spring Boot에서 웹 애플리케이션을 실행할 때, 애플리케이션의 빈(Bean) 관리, 서블릿 컨테이너 설정, 빈 라이프사이클 관리 등을 자동으로 처리하기 위해 이 컨텍스트를 사용합니다.Spring WebMVC의 Root Application Context 와 Web 전용 Applicaiton Context 계층 ..
2024.10.18