분류 전체보기(348)
-
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) 관리, 서블릿 컨테이너 설정, 빈 라이프사이클 관리 등을 자동으로 처리하기 위해 이 컨텍스트를 사용합니다.Spring WebMVC의 Root Application Context 와 Web 전용 Applicaiton Context 계층 ..
2024.10.18 -
AutoConfigurationImportSelector
AutoConfigurationImportSelector는 Spring Boot의 자동 구성(autoconfiguration) 메커니즘에서 중요한 역할을 담당하는 클래스입니다. 이 클래스는 애플리케이션이 시작될 때 필요한 자동 구성 클래스를 동적으로 선택하는데 사용됩니다. Spring Boot에서는 기본적으로 META-INF/spring.factories 파일을 통해 자동 구성 클래스를 찾지만, Spring Boot 2.7 이후로는 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일도 함께 사용되기 시작했습니다.자세한 내용은 다음과 같습니다.1. AutoConfigurationImportSelector의 역..
2024.10.18 -
DeferredImportSelector
DeferredImportSelector는 Spring Framework에서 구성 클래스를 동적으로 로딩하는 인터페이스인 ImportSelector를 확장한 인터페이스로, 일반 ImportSelector보다 더 나중에 실행되어 구성 클래스를 로딩할 수 있습니다. DeferredImportSelector는 스프링 컨텍스트가 초기화되는 과정에서 다른 빈이나 구성이 먼저 처리된 후에 실행됩니다. 이 특성 때문에 주로 프레임워크 확장, 모듈화된 구성, 또는 복잡한 로딩 순서가 필요한 경우에 사용됩니다.주요 개념 및 사용 목적ImportSelector는 구성 클래스를 동적으로 로드하는 기능을 제공합니다.DeferredImportSelector는 '지연된(Deferred)' 방식으로 ImportSelector보다..
2024.10.17 -
spring-boot-autoconfigure.jar
spring-boot-autoconfigure.jar 내의 각 패키지들은 스프링 부트의 자동 구성(Auto-Configuration) 기능을 통해 사용됩니다. 자동 구성은 애플리케이션이 실행될 때, 클래스패스에 존재하는 라이브러리와 환경을 감지하여 필요한 빈(bean)을 자동으로 생성하고 설정하는 스프링 부트의 핵심 기능 중 하나입니다.각 패키지들은 특정 기능(예: JPA, 데이터베이스, 웹 서버, 보안 등)에 대한 자동 구성을 제공하며, 이러한 패키지들이 언제 사용되는지를 이해하려면 애플리케이션의 요구에 따라 자동 구성 클래스가 언제 로드되는지를 이해하는 것이 중요합니다.spring-boot-autoconfigure.jar의 주요 패키지들이 사용되는 시점1. 데이터베이스 관련 자동 구성 패키지패키지 예..
2024.10.16 -
spring.factories
스프링의 SpringFactoriesLoader 클래스는 META-INF/spring.factories 파일에서 특정 타입의 팩토리 구현체들을 로드하고 인스턴스화합니다. 이 과정은 스프링의 자동 구성(Auto Configuration) 메커니즘에서 중요한 역할을 하며, 스프링 부트에서 많이 사용됩니다.스프링에서의 spring.factories 파일 역할spring.factories 파일은 스프링 부트와 스프링 프레임워크에서 사용하는 메타데이터 파일로, 클래스패스에 있는 자동 구성 클래스나 팩토리 클래스들을 정의하는 파일입니다.이 파일은 META-INF/spring.factories 경로에 위치하며, 여러 JAR 파일에 포함될 수 있습니다.스프링 부트는 이 파일을 통해 자동 구성 클래스, 애플리케이션 초기..
2024.10.16