티스토리 뷰

Ioc (Inversion of Control)

  • 객체에 대한 제어권이 개발자가 아닌 컨테이너로 넘어가면서 객체의 생성부터 생명주기까지 모두 컨테이너가 관리하는 것
  • IoC Container인 ApplicationContext에서 XML 파일 또는 annotation을 이용하여 객체 관리

- IoC Container

  • IoC 기능을 제공하는 bean 객체를 관리하는 컨테이너
  • 객체에 대한 생성 및 의존성을 관리
  • BeanFactory 또는 ApplicationContext를 가리킴

- Bean 

  • 스프링 IoC Container가 생성하고 관계설정과 사용제어 등의 관리를 해주는 객체들
  • annotation을 사용하여 객체를 bean으로 등록 가능
  • 의존성 주입은 bean끼리만 가능 

- BeanFactory

  • 스프링의 IoC를 담당하는 핵심 컨테이너
  • bean 등록/생성/조회/관리/반환수행
  • 보통 BeanFactory를 바로 사용하지 않고 BeanFactory를 확장하는 ApplicationContext를 주로 이용

- ApplicationContext

  • BeanFactory를 확장한 IoC 컨테이너
  • 기본 기능은 BeanFactory와 같지만 AOP, 메시지/이벤트 처리 등 스프링이 제공하는 부가 서비스를 추가로 제공

- Configuration Metadata

  • ApplicationContext 또는 BeanFactory가 IoC를 적용하기 위해 사용하는 메타 정보
  • bean 객체를 생성하고 구성할 때 주로 사용

DI (Dependency Injection)

  • 각 클래스 간의 의존관계를 Bean Definition 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것
  • 객체를 컨테이너로부터 주입 받아 실행 시에 동적으로 의존관계가 생성
  • 스프링에서는 Setter 주입/생성자 주입 두 가지 방법으로 의존성 주입 가능
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함