HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
Spring Framework
Spring Framework
/
Core
Core
/
IoC, DI, Bean, DI Factory개념
IoC, DI, Bean, DI Factory개념
IoC, DI, Bean, DI Factory개념

IoC, DI, Bean, DI Factory개념


Inversion Of Control - 제어의 역전
  • any kind of callback 을 제공하는 패턴
  • 즉, 내가 메서드를 실행하는 시점 callback, 나를 구성하는 의존관계의 연결DI에 관한 모든 제어권을 외부 핸들러/컨트롤러에 넘기는 것
  • ‘나’ 는 담당하는 로직의 ‘실행’ 만을 책임짐
    • 로직의 구현, 로직의 생성 모두 외부에서 전달 받음
💡
DI는 IOC를 구현하는 방법 중 하나

스프링 빈 (빈)
  • 스프링 IoC 컨테이너가 관리 하는 객체
  • 기본적으로 싱글톤 스코프를 가짐
    • 싱글톤 스코프 : one and only one
    • 프로토 타입 스코프 : 매번 다른 객체
  • 장점
    • 의존성 관리
    • 스코프 관리
    • 라이프사이클 인터페이스

스프링 IoC 컨테이너 (DI 컨테이너)
  • BeanFactory
  • 애플리케이션 컴포넌트의 중앙 저장소
  • 빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 저장한다.

ApplicationContext 빈 팩토리를 확장한 IoC 컨테이너. 기본적인 기능은 빈 팩토리와 동일하고 스프링이 제공하는 각종 부가 서비스를 추가로 제공한다.
  • 환경변수 - 로컬, 개발, 운영등을 구분하여 처리
  • 메시지 소스 처리 기능 (i18n)
  • 이벤트 발행하고 구독하는 모델을 편리하게 지원
  • 편리한 리소스 조회