Lai_Khan
개발 & 공부 일지
Lai_Khan
전체 방문자
오늘
어제
  • 전체보기 (69)
    • 공부 (60)
      • 자료구조 & 알고리즘 (4)
      • 웹 (1)
      • JAVA (3)
      • Spring (8)
      • JPA (0)
      • 네트워크 (4)
      • Kubernetes (4)
      • Typescript (5)
      • React (1)
      • 기타 (3)
      • [부스트코스] 웹 프로그래밍 (13)
      • 정보처리기사 (1)
      • 백준 2020년 1~2월 알고리즘 (12)
    • 프로젝트 (0)
    • 취준 (1)
    • 책 (3)
    • 잡담 (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • API
  • 웹
  • 벡엔드
  • OutOfPath
  • Spring
  • 브라우저
  • 클래스
  • kubernetes
  • java
  • JPA
  • 코드리뷰
  • 백엔드
  • 자바
  • 부스트코스
  • 네트워크
  • http
  • 스프링
  • proxy
  • typescript
  • 객체

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Lai_Khan
공부/Spring

[스프링 프레임워크 Core] 스프링 IoC 컨테이너와 빈

[스프링 프레임워크 Core] 스프링 IoC 컨테이너와 빈
공부/Spring

[스프링 프레임워크 Core] 스프링 IoC 컨테이너와 빈

2020. 6. 6. 20:16
[인프런] 백기선 님의 강의 「스프링 프레임워크 핵심 기술」을 듣고 정리

 

IoC

Inversion of Control : 의존 관계 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 게 아니라, 주입 받아 사용하는 방법을 말한다.

 

스프링 IoC 컨테이너

BeanFactory

애플리케이션 컴포넌트의 중앙 저장소

빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다.

 

빈(Bean)

스프링 IoC 컨테이너가 관리하는 객체

장점

  • 의존성 관리
  • 스코프 : 싱글톤
  • 라이프사이클 인터페이스

 

빈에 등록되어 있는 객체를 손쉽게 주입받아서 사용할 수 있다.

스프링 IoC 컨테이너에 등록되는 빈들은 기본적으로 싱글톤 스코프로 등록이 된다. 싱글톤이란 하나만 존재하는 객체를 말한다. 따라서 애플리케이션 전반에서 스프링  IoC 컨테이너로부터 빈(Bean)을 받아서 사용한다면 그 인스턴스들은 항상 같은 객체들이다. 미리 컨테이너에 만들어 놓았던 객체를 사용하므로 메모리 면에서도 효율적이고, 런타임시 성능 최적화에도 유리하다. 매번 만들어 사용하는 프로토타입에 비해서

 

ApplicationContext

스프링 IoC 컨테이너에는 중요한 인터페이스가 2개 있는데, BeanFactory와 ApplicationContext다. ApplicationContext는 기본적으로 BeanFactory의 IoC 컨테이너로서의 기능을 가지고 있으면서도 추가로 메시지 소스 처리 기능, 이벤트 발행 기능, 리소스 로딩 기능 등을 추가로 더 갖고 있다.

 

BeanFactory에 비해 추가적으로 더 많은 기능을 가지고 있는 인터페이스라고 보면 된다.

저작자표시 비영리 변경금지 (새창열림)

'공부 > Spring' 카테고리의 다른 글

[스프링 인 액션] Chapter 3 데이터로 작업하기  (0) 2022.05.08
[스프링 인 액션] Chapter 2 웹 어플리케이션 개발하기  (0) 2022.04.18
[스프링 인 액션] Chapter 1 스프링 시작하기  (0) 2022.04.08
스프링 AOP & PSA  (0) 2020.05.31
스프링 IoC  (0) 2020.05.29
  • IoC
  • 스프링 IoC 컨테이너
  • 빈(Bean)
  • ApplicationContext
'공부/Spring' 카테고리의 다른 글
  • [스프링 인 액션] Chapter 2 웹 어플리케이션 개발하기
  • [스프링 인 액션] Chapter 1 스프링 시작하기
  • 스프링 AOP & PSA
  • 스프링 IoC
Lai_Khan
Lai_Khan

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.