IoC (Inversion of Control)
제어권의 역전 (일반적으로 제어권이란 자기가 사용할 의존성은 스스로 만들어서 사용하는 것을 의미)
제어권이 역전되었다는 것은 다른 누군가가 의존성을 외부에서 줌(DI: Dependency Injection 알아보기)을 의미한다.
Spring IoC Container
Bean을 구성하고 제공하는 컨테이너.
오브젝트에 대한 제어권을 코드 대신 갖고 있다고 해서 IoC라고 부른다.
BeanFactory와 ApplicationContext 두 가지가 있다.
BeanFactory
Bean의 생성과 설정 및 관리를 맡고 있다.
- Bean을 등록, 생성, 조회, 반환 관리함.
- 보통은 이를 확장한 ApplicationContext를 사용함.
- getBean() 메소드가 정의되어 있다.
ApplicationContext
BeanFactory를 상속받고 있는 서브 인터페이스이다. BeanFactory에 여러 가지 컨테이너 기능을 추가한 것.
- BeanFactory와 같이 Bean을 등록, 생성, 조회, 반환 관리한다.
- Spring의 각종 부가 서비스를 추가로 제공함.
- Spring이 제공하는 ApplicationContext 구현 클래스로 여러 가지 종류가 있다.
참고 링크
- dog-developers.tistory.com/12
- gunju-ko.github.io/toby-spring/2019/03/25/IoC-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%99%80-DI.html
'공부이야기 > Spring' 카테고리의 다른 글
[Spring] Bean? DI? 이제는 친해지자! (0) | 2022.09.24 |
---|---|
[Spring] Bean Scope의 종류 (0) | 2021.05.13 |
[Spring] Dependency Injection(DI) - 의존성 주입 (0) | 2021.05.02 |
댓글