Spring Boot(77)
-
DefaultListableBeanFactory
📌 DefaultListableBeanFactory 완벽 정리 🚀DefaultListableBeanFactory는 Spring 프레임워크에서 가장 핵심적인 BeanFactory 구현체로, 스프링 컨테이너에서 빈(Bean)의 등록, 검색, 생성, 관리 및 의존성 주입을 담당하는 클래스입니다.ApplicationContext 내부에서 BeanFactory를 관리하는 핵심 구성 요소로 동작하며, BeanDefinitionRegistry, ListableBeanFactory, AutowireCapableBeanFactory 등의 기능을 모두 포함하고 있습니다.📌 1️⃣ DefaultListableBeanFactory 개요✅ Spring의 디폴트 BeanFactory 구현체로 BeanFactory의 기능을 ..
2024.10.18 -
ConfigurationClassParser
ConfigurationClassParser는 Spring 프레임워크의 핵심 클래스 중 하나로, 애플리케이션의 구성 클래스를 파싱하고 분석하여 Spring 컨테이너에 BeanDefinition를 등록하는 역할을 합니다. 주로 @Configuration, @Component, @ComponentScan, @Import 등과 같은 어노테이션을 처리하고, 구성 정보를 기반으로 빈을 생성할 수 있도록 구성 클래스의 메타데이터를 추출합니다. 이 클래스는 Spring 컨테이너에서 Java 기반 구성을 사용하는 애플리케이션의 구성 과정을 관리하는 매우 중요한 컴포넌트입니다.1. ConfigurationClassParser의 주요 역할ConfigurationClassParser는 Spring이 Java 기반 구성 클래..
2024.10.18 -
PostProcessorRegistrationDelegate
PostProcessorRegistrationDelegate는 Spring Framework에서 매우 중요한 클래스이며, 주로 BeanFactoryPostProcessor와 BeanPostProcessor의 등록 및 실행 과정을 관리합니다. 이 클래스는 Spring의 빈 초기화 과정에서 다양한 PostProcessor를 적절한 순서로 등록하고 실행하는 역할을 하며, 빈 생성 및 설정 과정에서 사용자 정의 로직을 포함할 수 있도록 확장성을 제공합니다.Spring의 Post ProcessorsSpring에는 두 가지 주요 PostProcessor 타입이 있습니다:BeanFactoryPostProcessor: 빈 객체들이 생성되기 전에 BeanFactory를 조작할 수 있는 PostProcessor입니다. 예..
2024.10.18 -
GraalVM
GraalVM은 다목적 가상 머신으로, 높은 성능의 Java 실행 환경을 제공할 뿐만 아니라, 다양한 프로그래밍 언어(JavaScript, Ruby, Python, R 등)를 실행할 수 있는 멀티 언어 런타임입니다. 또한, GraalVM은 Ahead-of-Time (AOT) 컴파일러를 제공하여 Java 애플리케이션을 네이티브 바이너리(native binary)로 변환할 수 있는 강력한 기능을 가지고 있습니다. 이 네이티브 컴파일 기능 덕분에, GraalVM은 성능 최적화와 애플리케이션 실행 시간 단축에 중요한 역할을 하며, 서버리스, 클라우드 환경에서 많이 사용됩니다.GraalVM은 Oracle에서 개발되었으며, 자바 애플리케이션의 성능을 높이고 다양한 프로그래밍 언어와의 상호 운용성을 목표로 합니다. ..
2024.10.18 -
Spring Native
Spring Native는 Spring 애플리케이션을 네이티브 이미지로 컴파일하여 성능 최적화와 메모리 사용량 감소를 실현하는 기술입니다. 이 기술은 GraalVM의 네이티브 이미지 컴파일러를 이용하여 Ahead-of-Time (AOT) 컴파일을 수행하고, JVM 기반의 Spring 애플리케이션을 네이티브 실행 파일로 변환합니다. 네이티브 이미지로 빌드된 애플리케이션은 Java 가상 머신(JVM)이 없이도 실행되며, 클라우드, 서버리스 환경 등에서 빠른 시작 시간과 낮은 메모리 사용량을 요구하는 애플리케이션에 적합합니다.Spring Native의 핵심 개념과 특징네이티브 이미지:네이티브 이미지(native image)는 JVM 없이도 직접 실행 가능한 바이너리 파일입니다. Spring Native는 Ja..
2024.10.18 -
AnnotationConfigServletWebServerApplicationContext
AnnotationConfigServletWebServerApplicationContext는 Spring Boot에서 서블릿 기반의 웹 애플리케이션을 실행할 때 사용하는 ApplicationContext의 한 구현체입니다. 이 클래스는 Java Config 기반 구성을 지원하는 동시에, 서블릿 컨테이너와의 통합을 제공하여, 웹 애플리케이션이 동작하는 데 필요한 컨텍스트를 설정하고 관리합니다.Spring Boot에서 웹 애플리케이션을 실행할 때, 애플리케이션의 빈(Bean) 관리, 서블릿 컨테이너 설정, Bean 라이프사이클 관리 등을 자동으로 처리하기 위해 이 컨텍스트를 사용합니다.Spring WebMVC의 Root Application Context 와 Web 전용 Applicaiton Context ..
2024.10.18