반응형
IoC (Inversion of Control)
- 제어의 역전이라고 불리운다.
- 제어권이 역전 되었다는 뜻이다.
예전에는 의존관계의 제어를 개발자가 직접 해주었다.
그러나 제어권이 컨테이너로 넘어갔고 객체의 생성부터 생명주기의 관리까지 객체에 대한 제어권이 바뀐것을 IoC라고 한다.
위와 같은 Repository 객체가 있을때 과거에는 아래와 같이 개발자가 직접 제어했다.
하지만 제어권이 컨테이너로 넘어갔고 객체의 생성과 생명주기의 관리까지 할 수 있기때문에 아래와 같은 방식으로 바뀐다.
IoC 컨테이너란 ?
- 핵심 Interface : BeanFactory
- Application Component 중앙 저장소
- Bean 설정 소스로부터 빈 정의를 읽어들여 빈을 구성하고 제공하는 역할을 한다.
Spring IoC 컨테이너
- ApplicationContext 인터페이스를 구현한 클래스의 오브젝트
- Application Context는 BeanFactory에 여러가지 기능을 추가한 것.
- 빈 인스턴스를 생성
- 의존 관계 설정
- 빈 제공
Bean 등록 과정
Bean은 런타임시점에 ComponentScan이 설정파일들을 읽고 ApplicationContext에 의하여 IoC컨테이너에 등록된다
[참고강의] 인프런 - 스프링 프레임워크 핵심기술 (백기선님)
반응형
'개발 > Spring' 카테고리의 다른 글
[Querydsl] Dto Q파일 만들기 (0) | 2020.02.29 |
---|---|
[Intellij] lombok 적용하기 (0) | 2020.02.24 |
[Spring Boot] maven spring boot configuration annotation processor not found in classpath (0) | 2020.02.20 |
[JPA] No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call (0) | 2020.02.17 |
[Spring Boot Security] Custom Logout Form 구현시 바로 로그아웃되는 현상 (0) | 2020.02.13 |
댓글