Java/Spring framework

Spring framework core (1) IoC Container와 Bean

감동이중요해 2020. 1. 5. 23:32

IoC Container, Bean

IoC

  • DI(Dependency Injection)이라고도 한다. 의존 객체를 직접 만드는게 아니라 주입받아 사용받는 것을 의미

Spring IoC Container

  1. BeanFactory

    • Reference
    • IoC의 최상위 인터페이스이며, Bean의 라이프 사이클을 관리한다.
    • Bean 정의를 읽으며, Bean을 구성하고 앱에 전반적으로 제공한다.
  2. ApplicationContext

    • 가장 많이 사용하는 BeanFactory의 하위 Interface
    • 이벤트 퍼블리셔, 환경설정, 메시지소스(다국화), Resource 로딩 등 수행

Bean

  • IoC Container에서 관리하는 객체
  • Spring단에서 의존성을 관리한다.
    • 특정 객체의 의존성을 다른 의존성으로 쉽게 대체할 수 있다.
  • Scope 정책이 존재
    • Singleton : 1개의 객체만 인스턴스로 사용 (Default)
    • prototype : 매번 다른 인스턴스로 사용
  • Lifecycle interface가 존재

 

소스코드

https://github.com/dhmin5693/Spring-core-study/tree/master/Bean