Spring Boot/Spring Boot Auto Configuration(18)
-
@EnableAutoConfiguration
🚀 Spring Boot의 @EnableAutoConfiguration 분석 🔍🎯 목표:@EnableAutoConfiguration이 Spring Boot에서 어떤 역할을 하는지 심층적으로 이해Spring Boot의 자동 구성(Auto Configuration) 메커니즘과 spring.factories와의 관계 분석자동 구성 클래스를 등록하는 방식과 Conditional 기반 동작 방식 학습 🏗️ 1. @EnableAutoConfiguration이란?🔍 개념 정의✅ @EnableAutoConfiguration은 Spring Boot에서 애플리케이션이 필요로 하는 설정을 자동으로 구성하는 핵심 기능✅ 클래스패스(classpath) 내의 라이브러리를 감지하고, 적절한 빈(Bean)을 자동으로 등록✅..
2024.10.16 -
@SpringBootConfiguration
@SpringBootConfiguration은 스프링 부트 애플리케이션에서 애플리케이션의 구성을 정의하는 데 사용되는 중요한 애노테이션입니다. 이 애노테이션은 일반적인 스프링의 @Configuration 애노테이션을 확장하며, 스프링 부트의 자동 구성 및 패키지 스캔과 관련된 여러 기능을 제공합니다. 1. 정의 및 기본 개념@Configuration 확장: @SpringBootConfiguration은 기본적으로 스프링의 @Configuration을 상속받아 사용됩니다. 즉, 이 애노테이션이 붙은 클래스는 스프링의 애플리케이션 컨텍스트에 빈 정의를 등록하는 역할을 합니다.스프링 부트 특화 기능: 스프링 부트의 설정을 쉽게 관리할 수 있도록 여러 기능이 추가되어 있습니다. 예를 들어, @EnableAuto..
2024.10.16 -
SpringApplication.run
SpringApplication.run()은 Spring Boot 애플리케이션의 엔트리포인트에서 사용되는 static 메서드로, Spring Boot 애플리케이션을 실행하고 부트스트랩(초기화)하는 역할을 합니다. 이 메서드는 애플리케이션의 실행을 위한 여러 초기화 작업을 수행하며, Spring 컨텍스트를 생성하고 설정을 적용한 후에 애플리케이션을 실행할 준비를 마칩니다.아래는 SpringApplication.run()의 동작 과정을 상세하게 설명한 내용입니다.SpringApplication.run()의 주요 역할SpringApplication 객체 생성:SpringApplication.run()은 내부적으로 SpringApplication 객체를 생성하고 이를 통해 애플리케이션을 부트스트랩합니다.이 객체..
2024.10.16 -
@SpringBootApplication
@SpringBootApplication은 Spring Boot 애플리케이션에서 가장 중요한 어노테이션 중 하나로, 애플리케이션을 실행하는 데 필요한 여러 설정을 한 번에 처리할 수 있도록 해주는 메타 어노테이션입니다. 이 어노테이션은 여러 다른 어노테이션을 포함하고 있으며, Spring Boot 애플리케이션을 쉽게 설정하고 실행할 수 있게 해줍니다.package org.springframework.boot.autoconfigure;// ...@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excl..
2024.10.16 -
Classpath
🔍 클래스패스(classpath)란 무엇인가?✅ 한 문장 요약클래스패스(ClassPath)는 JVM이 .class 파일(또는 리소스 파일)을 찾기 위해 참조하는 경로들의 목록입니다.이 경로는 디렉터리, .jar 파일, .zip 파일 형태로 존재할 수 있으며, JVM은 여기서 클래스나 리소스를 찾아 필요할 때 로드합니다. 📦 1. 클래스패스 = 파일 시스템의 경로 목록java -cp "lib/*:config:classes" com.example.Mainlib/*: 모든 JAR 파일 포함config: 설정 파일 위치classes: 컴파일된 .class 파일 디렉터리➡ 이 문자열이 JVM에 전달되는 **클래스패스(경로 목록)**입니다.📌 이 클래스패스는 OS 파일 시스템의 경로이며, 실제 존재하는 디렉터..
2024.10.16 -
@Import
🌿 Spring @Import 어노테이션 정리@Import는 Spring Framework에서 구성(Configuration) 메타데이터를 추가하는 방법 중 하나입니다.이를 통해 다른 구성 클래스를 로드 하거나, 동적으로 빈을 등록 할 수 있습니다.사용 방식에 따라 정적(Static) 방법과 동적(Dynamic) 방법으로 나뉩니다.1️⃣ 정적(Static) 방법: 직접 클래스 지정가장 기본적인 @Import 사용 방식으로, 한 개 또는 여러 개의 구성 클래스를 직접 명시 합니다.@Configuration@Import({ConfigA.class, ConfigB.class})public class MainConfig { // ...}📌 작동 방식✅ ConfigA와 ConfigB에 정의된 빈들이 Sp..
2023.05.04