[스프링] 빈이란?

조각·2023년 3월 18일
0

cs

목록 보기
4/4

IoC (Inversion Of Control) 제어의 역전

  • 개발자가 객체의 생명 주기를 직접 제어하는 것이 아니라, 외부(컨테이너)에 위임하는 것
  • IoC를 통해 DI(Dependency Injection), AOP(Aspect-Oriented-Programming)이 가능해진다.

Bean 이란?

  • 스프링 IoC 컨테이너가 관리하는 객체
  • 빈은 싱글턴이다
  • 빈을 스프링 컨테이너에 등록하는 방법
    다음의 애노테이션(스테레오타입)을 통해 등록할 수 있음
    스테레오 타입이란?
    -스프링 컨테이너가 스프링 관리 컴포넌트로 식별하게 해주는 단순한 마커
    -즉, scan-auto-detection과 dependency injection을 사용하기 위해서 사용되는 가장 기본 어노테이션

    @Controller
    @Service
    @Repository
    @Component

Bean과 Component의 차이

@Component
  • 클래스 상단에 적음
  • 클래스 이름이 default로 빈의 이름이 됨
  • Spring에서 자동으로 찾고 관리해주는 빈이 됨
@ Bean
  • @Configuration으로 선언된 클래스 내에 있는 메소드를 정의할 때 사용
  • 메소드의 이름이 default 로 빈의 이름이 됨
  • 이 메소드가 반환하는 객체가 빈이 됨

0개의 댓글