스프링 IoC 제어의 역전

송수용·2022년 6월 3일
0

제어의 역전

  • IoC라는 약자로 많이 사용되는 제어의 역전(Inversion of Control)이라는 용어.

제어권의 이전을 통한 제어관계 역전

  • 제어의 역전이라는 개념
    • 간단히 프로그램의 제어 흐름 구조가 뒤바뀌는 것이라고 설명할 수 있다.
  • JSP,EJB처럼 컨테이너 안에서 동작하는 구조는 간단한 방식이긴 하지만 제어의 역전 개념이 적용
  • 프레임워크도 제어의 역전 개념이 적용된 대표적인 기술이라고 할 수 있다.

스프링의 IoC

오브젝트 팩토리를 이용한 스프링 IoC

  • 스프링에서는 스프링이 제어권을 가지고 직접 만들고 관계를 부여하는 오브젝트를 빈이라고 한다.
  • 스프링에서는 빈의 생성과 관계설정 같은 제어를 담당하는 IoC 오브젝트를 빈팩토리라고 한다.
  • 애플리케이션 컨텍스트를 주로 사용한다.
  • 빈 팩토리라고 말할 때는 빈을 생성하고 관계를 설정하는 IoC의 기본 기능에 초점을 맞춘 것
  • 애플리케이션 컨텍스트라고 말할 때는 애플리케이션 전반에 걸쳐 모든 구성요소의 제어 작업을 담당하는 IoC 엔진이라는 의미가 좀 더 부각

애플리케이션 컨텍스트의 사용 장점

  1. 클라이언트는 구체적인 팩토리 클래스를 알 필요가 없다.
  2. 애플리케이션 컨텍스트는 종합 IoC서비스를 제공해준다.
  3. 애플리케이션 컨텍스트는 빈을 검색하는 다양한 방법을 제공한다.

스프링 IoC의 용어 정리

    • 빈 또는 빈 오브젝트는 스프링이 IoC 방식으로 관리하는 오브젝트
    • 관리되는 오브젝트
    • 주의할 점은 스프링을 사용하는 애플리케이션에서 만들어지는 모든 오브젝트가 다 빈은 아니다.
    • 그중 스프링이 직접 그 생성과 제어를 담당하는 오브젝트만을 빈이라고 부른다.
  • 빈팩토리
    • 스프링의 IoC를 담당하는 핵심 컨테이너를 가리킨다. 빈을 등록하고, 생성하고, 조회하고 돌려주고, 그 외에 부가적인 빈을 관리하는 기능을 담당.
  • 애플리케이션 컨텍스트
    • 스프링에서는 애플리케이션 컨텍스트라는 용어를 빈 팩토리보다 더 많이 사용
    • 애플리케이션 컨텍스트라고 적으면 애플리케이션
  • 설정정보/설정 메타정보
  • 컨테이너 또는 IoC 컨테이너
    • IoC 방식으로 빈을 관리한다는 의미에서 애플리케이션 컨텍스트나 빈 팩토리를 컨테이너 또는 IoC 컨테이너
  • 스프링 프레임워크
profile
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크

0개의 댓글