번개멍
[Spring] DI 의존성 주입 _Setter&Getter 본문
.DI(Dependency injection) : Setter&Getter 메소드 주입
-----------------------------------------------------------------------------
- 객체지향 디자인 원칙에서 객체간의 결합도는 약할수록 좋습니다.
- DI는 객체간의 결합도를 약하게 만들어 줍니다.
- DI : 각 클래스간의 의존관계를 빈 설정 정보(beans.xml)를 바탕으로 컨테이너가 자동으로 연결해주는 것을 말합니다.
- 그래서, 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가해주면 됩니다.
- 객체의 레퍼런스를 컨테이너로부터 주입받아서, 실행시에 동적으로 의존관계가 생성되어 처리됩니다.
- 컨테이너가 흐름의 주체가 되어서 애플리케이션 코드에 의존관계를 주입해주는 것입니다.
- 장점 : 코드가 단순해지고, 컴포넌트간의 결합도가 낮아집니다.
- Setter Injection : 의존성 입력 받는 Setter 메소드를 만들고 이를 통하여 의존성을 주입합니다.
beans.xml
-----------------------------
<bean id="t1" class="kr.co.ezen.beans.TestBean">
<property name="data1" value="100"/>
<property name="data2" value="100.1234"/>
<property name="data3" value="true"/>
<property name="data4" value="반갑습니다."/>
<property name="data5" ref="data_bean"/>
</beans>
- Constructor Injection : 필요한 의존성을 포함한 클래스의 생성자를 만들고 이를 통하여 의존성을 주입합니다.
- Method Injection : 의존성을 입력 받는 일반 메소드를 만들고 이를 통하여 의존성을 주입합니다.