Dependency Injection 2

[스프링] DI(Dependency Injection) 이해하기 - 심화편

스프링 DI 심화: Qualifier와 Primary 앞서 살펴본 DI 예제에서는 인터페이스를 구현하는 클래스가 하나였지만, 실제로는 다양한 구현체가 있을 수 있습니다. 이러한 경우, 구현체를 구분하여 의존성을 주입할 수 있어야 합니다. 스프링에서는 @Qualifier와 @Primary 애노테이션을 사용하여 이러한 문제를 해결할 수 있습니다. 6.1. Qualifier @Qualifier 애노테이션은 여러 구현체 중에서 특정 구현체를 선택하여 주입할 수 있도록 도와줍니다. 예를 들어, BInterface를 구현하는 B1과 B2 클래스가 있다고 가정합시다. 이 경우, 다음과 같이 @Qualifier 애노테이션을 사용하여 원하는 구현체를 주입할 수 있습니다. // B1.java @Component("b1")..

개발/Spring 2023.04.04

[스프링] DI(Dependency Injection) 이해하기 - 기초편

스프링(Spring) 프레임워크의 핵심 개념 중 하나인 DI(Dependency Injection)에 대해 이야기해볼까 합니다. DI를 이해하면 스프링 프레임워크 사용에 큰 도움이 될 것입니다. 이 글을 통해 DI에 대한 기본 개념을 이해하고 그 장점을 알아보겠습니다. 1. DI(Dependency Injection)란 무엇인가? DI(Dependency Injection)는 의존성 주입이라고 불립니다. 스프링 프레임워크에서 객체지향 프로그래밍의 원칙 중 하나인 "객체 간의 의존성을 줄이자"라는 개념을 구현한 것입니다. 간단히 말하면, 객체가 필요로 하는 의존 객체를 외부에서 주입하는 것을 말합니다. 이를 통해 코드의 유연성과 재사용성이 높아집니다. 2. DI의 원리 스프링 프레임워크에서는 객체 간의 의..

개발/Spring 2023.04.04