DI : 클래스간의 의존관계를 빈 설정(Bean Definition)정보(xml, 어노테이션)를 바탕으로 컨테이너가 자동으로 연결해주는 것.
=> 개발자는 빈 설정파일에 의존관계가 필요하다는 정보를 추가
=> 객체 레퍼런스를 컨테이너로부터 주입받아서 실행시에 동적으로 의존관계가 생성
è 장점 : 코드가 단순해진다, 컴포넌트간의 결합도가 제거된다.
DI의 유형
1. Setter Injection : setter메서드를 이용한 의존성 삽입
2. Constructor Injection : 생성자를 이용한 의존성 삽입
3. Method Injection : 일반 메서드를 이용한 의존성 삽입
스프링 DI컨테이너의 개념
Spring DI container가 관리하는 객체를 빈(Bean)이라고 하고, 이 빈들을 관리한다는 의미로 컨테이너를 빈 팩토리라고 부른다. 빈 팩토리에 여러가지 컨테이너 기능을 추가하여 애플리케이션 컨텍스트(ApplicationContext)라고 부른다.
BeanFactory : 빈을 등록, 생성, 조회, 반환 관리함. 보통은 빈팩토리를 바로 사용하지 않고, 이를 확장한 ApplicationContext를 사용한다. getBean()메서드가 정의되어있다.
ApplicationContext : 빈을 등록, 생성, 조회, 반환 관리하는 기능은 빈팩토리와 같다. Spring의 각종 부가 서비스를 추가로 제공한다.
'공부 > 스프링프레임워크' 카테고리의 다른 글
[spring] Spring JDBC (0) | 2021.11.17 |
---|---|
[spring] 사용자 관리 프로젝트 아키텍쳐 (0) | 2021.11.11 |
[spring] 빈 등록 메타정보 구성 및 의존관계 설정 어노테이션 (0) | 2021.11.11 |
[spring] 디자인패턴, 스프링 프레임워크 (0) | 2021.11.11 |
[spring] sw재사용을 높이는 방안 (0) | 2021.11.11 |