Spring Boot(76)
-
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 -
Project Classpath
프로젝트의 클래스패스(Classpath)는 프로젝트가 실행될 때 JVM이 클래스, 리소스, 라이브러리를 찾기 위해 참조하는 경로입니다. 클래스패스는 컴파일 시간과 실행 시간 모두에서 사용되며, 프로젝트의 빌드 시스템(예: Maven)과 IDE(예: STS4, IntelliJ) 설정에 따라 달라집니다.프로젝트의 클래스패스1. 로컬 파일 시스템프로젝트 클래스패스는 주로 프로젝트의 특정 디렉토리와 외부 라이브러리(예: Maven 의존성 라이브러리)로 구성됩니다.로컬 파일 시스템에서 클래스패스는 다음과 같은 요소들을 포함할 수 있습니다:소스 코드 디렉토리: 예를 들어, src/main/java는 프로젝트의 소스 파일들이 위치한 디렉토리로 클래스패스에 포함됩니다.컴파일된 클래스 파일: 프로젝트의 컴파일된 클래스 ..
2024.10.16 -
@AutoConfigurationPackage
@AutoConfigurationPackage는 스프링 부트에서 자동 구성과 관련된 패키지 스캐닝을 도와주는 어노테이션으로, 일반적으로 스프링 부트의 자동 구성 기능을 더욱 효율적으로 사용하기 위해 사용됩니다. 이 어노테이션은 스프링 부트의 자동 구성 메커니즘에서 중요한 역할을 합니다. 주로 @EnableAutoConfiguration 또는 @SpringBootApplication과 함께 사용되며, 자동으로 패키지를 스캔하여 특정 컴포넌트들을 등록할 때 유용합니다.@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@Import(AutoConfigurationPackages.Registrar.class)publi..
2024.10.16 -
@EnableAutoConfiguration
@EnableAutoConfiguration 어노테이션은 스프링 부트(Spring Boot)의 핵심적인 기능 중 하나로, 애플리케이션에서 필요한 설정을 자동으로 구성해주는 역할을 합니다. 스프링 부트 애플리케이션에서는 개발자가 일일이 설정 파일을 작성하지 않더라도, 다양한 스프링 라이브러리와 외부 라이브러리들을 자동으로 감지하고, 적절한 설정을 자동으로 수행하여 애플리케이션을 구동할 수 있도록 돕습니다.스프링 애플리케이션 컨텍스트의 자동 구성을 활성화하여, 필요한 빈들을 추측하고 구성하려 시도합니다. 자동 구성 클래스들은 일반적으로 클래스패스(classpath)와 이미 정의된 빈들에 따라 적용됩니다. 예를 들어, 클래스패스에 tomcat-embedded.jar가 있다면, TomcatServletWebSe..
2024.10.16 -
@SpringBootConfiguration
@SpringBootConfiguration은 스프링 부트 애플리케이션에서 애플리케이션의 설정을 정의하는 데 사용되는 중요한 애노테이션입니다. 이 애노테이션은 일반적인 스프링의 @Configuration 애노테이션을 확장하며, 스프링 부트의 자동 구성 및 패키지 스캔과 관련된 여러 기능을 제공합니다. 아래는 @SpringBootConfiguration에 대한 상세한 설명입니다.1. 정의 및 기본 개념@Configuration 확장: @SpringBootConfiguration은 기본적으로 스프링의 @Configuration을 상속받아 사용됩니다. 즉, 이 애노테이션이 붙은 클래스는 스프링의 애플리케이션 컨텍스트에 빈 정의를 등록하는 역할을 합니다.스프링 부트 특화 기능: 스프링 부트의 설정을 쉽게 관리할..
2024.10.16