본문 바로가기

프로그래밍/Spring

DI(DepenDency Injection) - 1

의존

스프링의 주요 기능 : DI 패턴지원

스프링 컨테이너는 빈 객체를 저장, 각 객체간의 의존 관계를 관리

☞ 설계가 쉽고, 유지보수 및 확장성이 좋아진다


의존성 주입

Spring Framework가 지원하는 핵심기능

객체 사이의 이존 관계가 객체 자신이 아닌 외부(조립기)에 의해 설정


컨테이너의 역할

예) <A 객체가 필요로 하는 의존관계에 있는 다른 객체 B>

B객체를 컨테이너가 직접 생성하여 A객체로 주입(설정)해주는 역할을 담당

☞ 스프링은 객체를 관리하는 컨테이너를 제공 - 빈 생성, 관계, 사용, 제거 기능을 담당

☞ 스프링은 컨테이너에 객체를 담아두고, 객체가 필요할 때 컨테이너로 부터 객체를 가져와 사용

☞ BeanFactioy 와 ApplicationContext가 컨테이너 역할을 하는 인터페이스


BeanFactory 인터페이스

- org.springframework.beans.factory.BeanFactory

- 빈 객체를 관리, 의존관계 설정해주는 가장 단순한 컨테이너

- 빈 팩토리를 상속받고 있는 하위 클래스들로 XML과 같은 외부 설정 파일의 내용으로 객체 생성하면 Spring컨테이너가 되는 것


Spring의 DI 설정방법

- 컨테이너에 저장될 빈 객체와 각 빈 객체간의 연관 관계는 XML 파일을 통해서 설정

- 스프링은 애너테이션을 이용한 설정도 지원 ==> DI(DepenDency Injection)-2


예제

https://github.com/dome2073/OpenProject.git 

- appCtx.xml에 스프링 DI 설정을 하였음.


'프로그래밍 > Spring' 카테고리의 다른 글

스프링 프레임워크 설치 - STS  (0) 2018.07.24
프레임워크란?  (0) 2018.07.24