[인프런] 백기선 님의 강의 「스프링 프레임워크 핵심 기술」을 듣고 정리
IoC
Inversion of Control : 의존 관계 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 게 아니라, 주입 받아 사용하는 방법을 말한다.
스프링 IoC 컨테이너
BeanFactory
애플리케이션 컴포넌트의 중앙 저장소
빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다.
빈(Bean)
스프링 IoC 컨테이너가 관리하는 객체
장점
- 의존성 관리
- 스코프 : 싱글톤
- 라이프사이클 인터페이스
빈에 등록되어 있는 객체를 손쉽게 주입받아서 사용할 수 있다.
스프링 IoC 컨테이너에 등록되는 빈들은 기본적으로 싱글톤 스코프로 등록이 된다. 싱글톤이란 하나만 존재하는 객체를 말한다. 따라서 애플리케이션 전반에서 스프링 IoC 컨테이너로부터 빈(Bean)을 받아서 사용한다면 그 인스턴스들은 항상 같은 객체들이다. 미리 컨테이너에 만들어 놓았던 객체를 사용하므로 메모리 면에서도 효율적이고, 런타임시 성능 최적화에도 유리하다. 매번 만들어 사용하는 프로토타입에 비해서
ApplicationContext
스프링 IoC 컨테이너에는 중요한 인터페이스가 2개 있는데, BeanFactory와 ApplicationContext다. ApplicationContext는 기본적으로 BeanFactory의 IoC 컨테이너로서의 기능을 가지고 있으면서도 추가로 메시지 소스 처리 기능, 이벤트 발행 기능, 리소스 로딩 기능 등을 추가로 더 갖고 있다.
BeanFactory에 비해 추가적으로 더 많은 기능을 가지고 있는 인터페이스라고 보면 된다.
'공부 > Spring' 카테고리의 다른 글
[스프링 인 액션] Chapter 3 데이터로 작업하기 (0) | 2022.05.08 |
---|---|
[스프링 인 액션] Chapter 2 웹 어플리케이션 개발하기 (0) | 2022.04.18 |
[스프링 인 액션] Chapter 1 스프링 시작하기 (0) | 2022.04.08 |
스프링 AOP & PSA (0) | 2020.05.31 |
스프링 IoC (0) | 2020.05.29 |