본문 바로가기
[Spring]/Spring 기본

자동 빈 등록과 수동 빈 등록을 사용하는 기준

by 황원용 2023. 3. 6.
728x90

자동 기능을 기본으로 사용

  • 스프링 부트가 컴포넌트 스캔을 기본으로 사용하고, 다양한 스프링 빈들을 자동으로 등록하도록 설계했기 때문에 굳이 수동으로 만들 필요가 없다.
  • 자동으로 빈을 등록해도 OCP, DIP를 지킬 수 있다.

 

 

그럼 수동 빈은 언제 사용할까?

  • 애플리케이션은 업무 로직과 기술지원 로직으로 나뉜다.

 

업무 로직 빈

  • 웹을 지원하는 컨트롤러, 핵심 비즈니스 로직이 있는 서비스, 데이터 계층의 로직을 처리하는 리포지토리 등이 모두 업무 로직이다.
  • 업무 로직은 문제가 발생했을 때 명확하게 파악하기 쉽다.

 

기술 지원 빈

  • 기술적인 문제나 공통 관심사(AOP)를 처리할 때 사용된다.
  • 기술 지원 로직은 로직 적용이 잘 되는지 파악하기 힘들다.
  • 따라서, 수동으로 빈을 등록하여 명확하게 드러내는 것이 좋다. 
  • 다형성을 적극적으로 활용하는 비즈니스 로직은 한눈에 파악하기 쉽게 특정 패키지에 모아두고 수동으로 빈을 등록하는 것을 고려해 보자.

 

 

참고

김영한 - 스프링 핵심 이론

728x90

'[Spring] > Spring 기본' 카테고리의 다른 글

빈 스코프  (0) 2023.03.07
빈 생명주기 콜백  (0) 2023.03.06
조회하는 빈이 2 개 이상일 때 해결 방법  (0) 2023.03.06
의존관계 주입  (0) 2023.03.06
스프링 컨테이너(IoC / DI 컨테이너), BeanDefinition  (0) 2023.02.28