-
Spring의 특징 이해하기 [Di, IoC]프로그래밍 2016. 12. 26. 00:57
Spring의 특징 DI, IoC
개념 확실하게 정리하셨나요?
DI, IoC 개념 알듯 모를듯 했는데
설명 너무 잘 해주신 유투브 동영상 참고!
/* 유투브 보고 공부한 내용 한번 더 정리 해 봅니다. */
DI란?
의존성 주입
원하는 부품 목록을 작성하면, Spring이 조립해준다.
필요한 객체는 스프링을 통해서 주입받는 구조.
어노테이션(@)을 통하여 객체 간 의존 관계를 설정.
객체 자체를 직접 생성 또는 검색 할 필요가 없음.
예를들면,
Family Has-a Father,Mother
관계를 구현 할 경우
스프링의 경우
Family 객체만 생성하면
Father,Mother 객체는 자동으로 생성된다.
*Family와 Father,Mother 객체의 LifeCycle(생성 및 소멸) 동일
Family fam = new Family();
스프링이 아닌 경우는
Father,Mother 객체를 생성해서 Setter메소드를 통해 주입해주어야 한다.
Father papa = new Father();
Mother mom = new Mother();
Family fam = new Family();
fam.setterFather(papa);
fam.setterMother(mom);
위 소스 내용을 그림으로 표현해 보면 아래와 같다.
첫번째 소스가 객체가 생성되는 순서가 역순이므로
IoC 개념 요기잉네!
의존을 주입하는 방법.세가지.
1. Setter Injection : setter 메소드를 통해 Injection 수행
2. Construction Injection : 객체 생성할 때 Injection 수행 (eg. Family fam = new Family(papa,mom); )
3. Interface Injection
IoC Container
필요한 객체를 생성해서 주입 수행
위 소스를 보면 스프링을 사용할 경우 Father,Mom 객체 생성을 별도로 수행하지 않는다.
IoC Container가 Father,Mom 객체 생성 해서 Family 객체에 Injection 처리해준다
'프로그래밍' 카테고리의 다른 글
R studio server / 인터넷 안 되는 환경에서 stringi library 설치가 안되는 경우 (0) 2019.09.16 (JAVA) Anagram 알고리즘 (0) 2016.10.08 (알고리즘) 문자열 뒤집기 (0) 2016.10.07