순서가 좀 꼬여있다.
DI(Dependency Injection)는 의존 주입이다.
의존성은 has-a 패턴일때만 의미가 있다.
Car 클래스에 타이어를 장착해보자.
어떤 브랜드의 타이어를 장착 시킬까요?
Car 클래스는 Tier 인터페이스에 대해 의존성을 가지고 있다.
- 자동차는 타이어가 있어야 하잖아.
- 타이어가 없으면 Car가 움직이지 않기 때문에, 콤포지션 관계이다. : 생명 주기를 같이할 때 콤포지션 관계
- (다른 관계는 어그리게이션 관계가 있다.) : 생명주기가 다를 때 ? 어그리게이션 관계
아래 처럼, 의존관계가 발생해서 타이어를 바꾸고싶다면 Car라는 클래스의 코드도 바꿔야 한다.
이런 번거로움을 해결하기 위해 생성자 주입, 속성주입(setter injection)을 사용한다.
'웹 프로그래밍 > Spring' 카테고리의 다른 글
[Spring] DI 생성자 주입 <constructor-arg>, 속성 주입(세터 주입) <property> 분석 (0) | 2020.08.14 |
---|---|
[Spring] DI 실습(3) : Annotation을 이용한 SPRING 자동 주입 (0) | 2020.08.13 |
[Spring] bean, container 개념 및 예제 & 싱글턴 패턴 사용 방법 (0) | 2020.08.13 |
[Spring] Maven local repository 경로 설정하기 : settings.xml (0) | 2020.08.12 |
[Spring] 스프링 시작, Maven Project (0) | 2020.08.12 |