본문 바로가기
JavaScript/Spring

[Spring framework] 스프링 프레임워크 - 의존관계 변경_의존성 주입(3)

by Alkaloid 2022. 1. 29.
반응형
반응형

우리는 지난번까지 하나의 speaker를 사용했습니다.

하지만 앞서 tv를 처음만들때도 문제가 생겼죠. 바로 다른 speaker로 교체를 위해서는 코드를 수정하느냐, 아니냐로 말이죠

 

의존성 주입은 그런 상황에서 아주 효과적이게 처리를 할 수 있게 도와줍니다.

현재 sonyspeaker가 있으니 하나의 speaker를 추가하기 위해 Speaker인터페이스를 추가 하도록 하겠습니다.

Speaker인터페이스를 하나 만들었습니다. 그리고 우리는 또하나의 Speaker를 만드려 합니다. LgTV만들었을때 처럼요.

Speaker인터페이스를 상속하는 AppleSpeaker를 만들었습니다. 그리고 또하나 작업을 해야하는거 안잊으셨죠?

기존 sonySpeaker에도 인터페이스를 상속시켜줘야합니다.

 

이제 Speaker를 SamsungTV에서 사용하기 위해 SamsungTV에 매개변수 타입과 멤버변수를 Speaker로 수정해줍니다.

표시한 부분이 SamsungTV에서 매개변수와 멤버변수를 Speaker로 수정한 부분입니다.

(기존에는 SonySpeaker로 되어있으셨을거예요.)

 

그리고 xml에 가서 bean을 등록할겁니다. 전에 배운 ref부분을 apple로 수정하면? 결과가 AppleSpeaker로 나오겠죠?

첫번째 <property>엘리먼트를 보시면 ref가 기존 sony에서 apple로 바뀌었고, 맨아래 apple <bean>이 추가되었죠?

다시 복습하면 <bean>으로 지정되어있는 아이디나 이름이 있으면 ref에서 참조합니다.

반응형