728x90
반응형
스프링이 가지고 있는 가장 기본적인 능력은?
객체를 생성해주고 객체를 조립해주는 능력이라고 할 수 있습니다.
DI(Dependenct Injection)와 IoC Container가 있습니다.
DI란?
Dependencty Injection
(종속성,의존성 주입)
(부품조립)
Dependencty
Composition has a (일체형 has a 관계 ) 부품형
class A{
private B b;
public A(){
b = new B();
}
}
//일체형으로 자기의 부품을 가졌다.
//B 는 A의 부품이다
//부품은 Dependency이다
//B는 A의 종속성 or 종속객체이다
//직접 생성하고 있다.
조립형
class A{
private B b;
public void setB(B b){
this.b = b;
}
}
//직접 생성하지 않고있다. 생성은 외부에서 해주고
//그 생성을 setter로 set해준다.
//
스프링에서 DI가 중요한 이유?
일체형보다는 조립형이 결합력이 훨씬 더 낮아지고, 부품을 쉽게 교체, 업데이트를 할 수 있는 방식
조립형이 더욱 선호되는 경우가 있다.
Injection
//부품형
A a = new A();
//객체 안에 어떤 부품이 있는지 모른다.
//부품을 교체 할 수 없다.
//조립형
B b = new B();
A a = new A();
//a 를 그냥 생성 할 수 있는것이 아니라
//b 부품을 만들어서
a.set(b);
//a 안에 set해주게 된다.
//부품을 교체, 주입해주는 과정을 Injection이라고 한다.
//B b = new B() <= Dependency
//a.set(b) <= Injection
Injection 방법
Setter Injection
B b = new B();
A a = new A();
a.set(b);
Constuction Injection
B b = new B();
A a = new A(b);
스프링은 객체를 생성하고 조립해주는 역할을 해줄 수 있다.
스프링이 가지고 있는 가장 기본적인 능력은 Dependency를 Injection(의존성을 주입)해주는 능력,
부품을 조립해주는 능력이다.
원하는 부품이 뭐가 있는지, 어떠한 부품을 결합을 하기를 원하는지만 설정해주면 스프링이 조립해주고,
우리는 조립된 결과를 사용하면 된다.
728x90
반응형
'Web Programming > Spring' 카테고리의 다른 글
Spring/지시서 작성하기/Bean Configuration File (0) | 2021.05.17 |
---|---|
Spring/IoC Container/Inversion Of Control Container (0) | 2021.05.15 |
Spring/Spring Legacy Project 생성/실행 (0) | 2021.05.13 |