스프링 IOC컨테이너와 빈

최기곤·2021년 1월 12일
0

스프링프레임워크

목록 보기
1/8

IoC란?

  • Inversion of Control, 의존 관계 주입이라고 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용하는 방법.
  • 스프링 프레임워크에서는 인스턴스의 생성부터 소멸까지 인스턴스의 생명주기를 개발자가 아닌 IoC 컨테이너가 대신해준다.

스프링 IoC 컨테이너

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

장점

  • 의존성관리를 IoC컨테이너가 하므로 비즈니스 로직에만 신경을 쓰면 된다.
  • 싱글톤객체로 등록 하므로 메모리를 효율적으로 사용할 수 있다.
  • 라이프사이클 인터페이스를 이용하여 원하는 작업을 할 수 있다. ex) @PostConstruct

Bean이란?

  • 스프링 IoC컨테이너가 관리하는 객체.
  • 의존성 주입을 하기위해서는 인스턴스를 빈으로 등록하여야 한다.

ApplicationContext

  • BeanFactory를 상속받아 그 기능을 가지고 있으면서 추가적으로 다양한 기능들을 가지고 있는 인터페이스로 많이 사용된다.

그렇다면 빈을 어떻게 등록할 것인가?

  1. @Component, @Configuration이 붙은 클래스에서 원하는 Bean에다가 @Bean을 설정한다.
  2. 이 후, ComponentScan을 이용하여 빈을 등록할 수 있는데, @SpringBootApplication에 @ComponentScan이 등록 되어 있어서 @SpringBootApplication이 붙은 클래스패키지위치 하위에 놓은 모든 컴포넌트를 빈으로 등록한다.
profile
놀면서 일하고 일하면서 놀고~ 해삐~

0개의 댓글