View

반응형

백기선님의 스프링 프레임워크 핵심 기술이라는 강좌를 들으며 공부한 내용을 정리한 글입니다.

스프링을 이용해 개발을 할 때 '의존성 주입'이라는 말을 많이 들어봤을 것이다.

의존성 주입은 스프링이 제공하는 핵심 기술 중 하나로, 어떤 객체가 사용하는

의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용하는 방법을 말한다.

 

복잡한 의존 관계를 개발자가 관리하는 것이 아닌 스프링 프레임워크가 관리해주기 때문에

개발자는 개발에만 집중할 수 있고, 이는 생산성 향상으로 이어질 수 있다.

 

이처럼 의존 객체를 개발자가 아닌 스프링 프레임워크가 제어한다는 개념이 IoC이다.

말 그대로 제어권이 개발자가 아닌 스프링 프레임워크로 넘어갔기 때문에 '제어의 역전'이라 부른다.

 

스프링은 IoC라는 기능을 제공하기 위해 자신이 관리해야 할 객체를 알아야 한다.

따라서 개발자는 Bean을 등록하고 등록된 Bean은 Ioc 컨테이너에 의해 관리된다.

주요 개념 정리


Ioc (Inversion of control)

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

Ioc 컨테이너

  • BeanFactory
  • 애플리케이션 컴포넌트의 중앙 저장소
  • 빈 설정 소스로부터 빈 정의를 읽어 들이고, 빈을 구성하고 제공

Bean

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

Ioc 컨테이너 기능을 사용하는 이유

  • 의존성 관리
  • 라이프사이클 인터페이스 지원
  • Bean의 스코프
    • 객체를 싱글톤으로 관리하고 싶을 때
      • 싱글톤 -> 객체 한 번만 생성
      • 프로토타입 -> 매번 다른 객체 생성
반응형
Share Link

인기 글

최신 글

전체 방문자

Today
Yesterday