헬린코린이

[Spring Framework] DI 본문

Programming/Spring Framework

[Spring Framework] DI

HCD 2023. 2. 8. 18:19

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