헬린코린이
[Spring Framework] DI 본문
Dependency Injection란
외부에서 두 객체 간의 관계를 결정해 주는 디자인 패턴으로 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해 줍니다.
의존 관계란
"A가 B를 의존한다."는 말은 의존 대상 B가 변화면 그것이 A에 영향을 미친다는 것입니다.
코드를 보겠습니다.
package test;
import java.util.List;
public class TestDAO {
private static List<Bean> holy;
private Bean bean;
public void setHoly(List<Bean> bean) {
holy = bean;
}
public void setBean(Bean bean) {
this.bean = bean;
}
public void insert(String name) {
bean.setName(name);
holy.add(bean);
}
public List<Bean> selectAll(){
return holy;
}
}
이 클래스가 멤버변수로 holy와 bean을 받는데
멤버변수가 set으로 인스턴스를 생성시켜 줘야 아래 메서드들을 수행할 수 있기에
즉 멤버변수는 본 객체에 대해 의존성을 갖고 있다라고 생각하면 될 것이다
이러한 객체 간의 의존관계를 나타낸 그림을 클래스 다이어그램이라고 합니다
Comments