Spring Framework/Spring IoC(44)
-
Bean Overview
☕ Spring Bean A to Z: IoC 컨테이너의 핵심 요소 이해하기이번 챕터에서는 Spring IoC (Inversion of Control) 컨테이너의 핵심 구성 요소인 Bean(빈)에 대해 자세히 알아보는 시간을 갖겠습니다. Bean이 무엇인지, 어떻게 정의되고 관리되며, 컨테이너 내에서 어떻게 인스턴스화되는지 등, Spring 개발자라면 반드시 알아야 할 내용들을 정리했습니다. 1. Bean 개요 및 메타데이터 📦Spring IoC 컨테이너는 하나 이상의 Bean을 관리합니다. 이 Bean들은 개발자가 제공하는 구성 메타데이터 (예: XML 정의)를 통해 생성됩니다.컨테이너 내부에서, 이 Bean 정의는 BeanDefinition 객체로 표현되며, 다음 정보를 포함합니다.패키지 경로를 ..
2024.06.11 -
Using @Autowired
🚀 Spring 핵심 이해: @Autowired를 활용한 의존성 주입 (Dependency Injection, DI) Spring Framework의 핵심은 제어의 역전 (IoC)이며, 이를 실현하는 가장 중요한 메커니즘이 바로 의존성 주입 (DI)입니다. Spring은 @Autowired 어노테이션을 사용하여 필요한 의존 객체를 자동으로 찾아 주입해 줍니다. 이 챕터에서는 @Autowired를 어디에 어떻게 적용하는지, 그리고 어떤 원칙을 따라야 하는지에 대해 자세히 알아보겠습니다. 1. @Autowired 적용 위치 (Injection Points)@Autowired는 Spring 컨테이너에게 "여기에 이 타입의 빈(Bean)이 필요하니 주입해 주세요"라고 지시하는 역할을 합니다. 이는 주로 생성자..
2023.12.10 -
Dependencies and Configuration in Detail
📌 Spring Bean의 의존성(Dependencies) 및 상세 설정(Configuration) 정리🔹 1️⃣ 의존성(Dependency) 정의 방법Spring에서는 Bean의 속성이나 생성자 아규먼트를 설정할 때 다양한 방법으로 값을 지정할 수 있습니다.주요 방식은 다음과 같습니다.방식설명직접 값 지정 (Primitive, String 등)단순한 값(문자열, 숫자, boolean 등) 설정idref특정 Bean의 id를 안전하게 참조하는 방법ref다른 Bean을 참조하여 의존성 설정내부 Bean (Inner Bean)Bean 내부에서 직접 새로운 Bean을 정의컬렉션 (List, Set, Map, Properties)컬렉션 타입 속성 설정컬렉션 병합 (Merging)부모 Bean의 컬렉션을 자식..
2023.12.10 -
Introduction to the Spring IoC Container and Beans
🌱 Spring IoC Container와 Bean 소개Spring Framework는 자바 애플리케이션 개발에서 가장 널리 사용되는 프레임워크 중 하나입니다. 그 핵심에는 제어의 역전(Inversion of Control, IoC) 원칙을 구현한 IoC 컨테이너가 있습니다. 이 글에서는 Spring의 IoC 컨테이너와 Bean 개념에 대해 구체적으로 살펴보겠습니다. 🔁 Inversion of Control(IoC)란?IoC는 객체 간의 의존성 관리에 대한 제어 권한을 애플리케이션 코드가 아닌 컨테이너에게 위임하는 설계 원칙입니다.💡 전통적인 방식: 객체가 직접 다른 객체를 생성하거나 검색💡 IoC 방식: 컨테이너가 객체를 대신 생성하고 필요한 의존 객체를 주입 💉 IoC의 구체적인 구현: De..
2023.12.10 -
Fine-tuning Annotation-based Autowiring with @Primary or @Fallback
🏆 @Primary와 @Fallback을 활용한 Spring Autowiring 선택권 제어 (Spring 6.2+)Spring Framework에서 타입 기반의 자동 주입(@Autowired) 은 매우 편리하지만, 동일한 타입의 빈(Bean)이 여러 개 존재할 때 모호성(Ambiguity) 문제가 발생합니다. Spring은 이러한 모호성을 해소하고 개발자가 원하는 빈을 정확히 주입할 수 있도록 @Primary와 최신 버전(6.2부터)에 추가된 @Fallback 어노테이션을 제공합니다.이 챕터에서는 이 두 어노테이션을 사용하여 자동 주입 선택 과정을 어떻게 제어하는지 상세히 알아보겠습니다. 1. @Primary: Default 빈 지정@Primary는 가장 오랫동안 사용되어 온 방법으로, 여러 후보 빈..
2023.07.08 -
Dependency Injection of Spring Framework
스프링 프레임워크에서 의존성 주입을 수행하는 방법은 더 다양합니다.1. 생성자 주입 (Constructor Injection)설명: 생성자를 통해 의존성을 주입하는 가장 권장되는 방식입니다.예시:@Componentpublic class MyService { private final MyRepository repository; public MyService(MyRepository repository) { this.repository = repository; }}2. 세터 주입 (Setter Injection)설명: 세터 메서드를 통해 의존성을 주입하는 방식입니다.예시:@Componentpublic class MyService { private MyRepository rep..
2023.05.01