[Spring] DI(의존성 주입)

서규범·2022년 10월 14일
1

의존성 주입이란?

  • Spring 프레임워크는 3가지 핵심 프로그래밍 모델을 지원하고 있는데, 그 중 하나가 의존성 주입(Dependency Injection, DI) 이다. DI란 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.

의존성 주입(Dependency Injection)이 필요한 이유

  • 두 객체 간의 관계라는 관심사의 분리
  • 두 객체 간의 결합도를 낮춤
  • 객체의 유연성을 높임
  • 테스트 작성을 용이하게 함

예시 코드

public class Store {

    private Pencil pencil;

    public Store() {
        this.pencil = new Pencil();
    }

}

변경
↓↓

public interface Product {

}


public class Pencil implements Product {

}
public class Store {

    private Product product;

    public Store(Product product) {
        this.product = product;
    }

}
public class BeanFactory {

    public void store() {
        // Bean의 생성
        Product pencil = new Pencil();
    
        // 의존성 주입
        Store store = new Store(pencil);
    }
    
}
profile
하려 하자

0개의 댓글