[10분 테코톡] 주디의 Spring Bean

KIM YONG GU·2023년 9월 30일
0

우아한테크

목록 보기
17/41

스프링 빈(Spring Bean)이란?

스프링 IoC(Inversion of Control) 컨테이너가 관리하는 객체

빈과 의존성 주입

직접 의존성을 주입하기 위해서는 의존관계를 모두 파악해야 한다. (어플리케이션 규모가 커지면 거의 불가능에 가까운 일)

스프링 IoC 컨테이너에서 의존성을 관리해 줌

빈과 싱글턴

싱글턴은 생성자를 Private로 설정해야 하는데 이렇게 되면 객체지향의 장점인 다형성을 사용하지 못하게 된다. 즉 해당 객체는 상속을 사용하지 못함. 또한 안정성이 중요한 프로젝트에서 간이테스트가 어렵다. 실행순서에 따라 결과가 달라지기 때문임.

스프링 IoC컨테이너는 빈을 어떻게 관리할까?

빈 설정시 주의점

위 그림에서 Bean은 상태를 가지면 안된다(?).

물론 상태를 가지는 Bean도 있다.

*의존성이 여러개일 때 우선순위

생성자 -> 필드 -> setter

*주입 대상이 여러 개일 때 우선순위

타입 -> @Qualifier -> @Primary -> 변수명

맺으며

(1) 스프링 빈이 왜 필요할까?

  • 스프링 IoC컨테이너가 특정 객체의 라이프사이클을 관리한다는 것을 명시

(2) 스프링 IoC 컨테이너는 왜 빈을 관리할까?

  • 의존성을 사용하는 로직에만 집중 가능
  • 의존성이 주입될 객체가 싱글 오브젝트임을 보장

profile
Engineer, Look Beyond the Code.

0개의 댓글