[스프링 - 핵심원리] 수동 빈 등록 VS 자동 빈 등록

빈 등록을 할 때, 수동과 자동적으로 등록하는 방법을 이전 게시글에서 살펴보았다. 그렇다면, 어떤 경우에 수동 빈을 사용하고, 어떤 경우에 자동 빈을 사용하는 것일까? 편리한 자동 빈을 무조건적으로 사용하면 될까?

본 게시글에서 이러한 주제에 대해 정리해보고자 한다.



자동 빈 등록 기능을 기본적으로 사용하자!

  • 수동 빈 등록은 너무 번거롭다.
  • 관리할 빈의 수가 많아진다면 설정 정보를 관리하기 어렵다.
  • 자동 빈 등록을 사용해도 OCP, DIP를 지킬 수 있다.




로직 별, 빈 등록 기능 추천

애플리케이션의 로직 구분

  • 업무 로직 (비즈니스 로직) 빈
    • 웹을 지원하는 컨트롤러, 핵심 비즈니스 로직, 레포지토리 등
    • 보통 비즈니스 요구사항을 개발할 때 추가되거나 변경됨.
  • 기술 지원 빈
    • DB 연결, 공통 로그 처리 등
    • AOP(공통관심사)를 처리할 때 주로 사용됨.

애플리케이션의 로직을 크게 2가지로 나눈다면 위와 같이 구분할 수 있다.


업무 로직

  • 업무 로직은 숫자도 매우 많고, 컨트롤러, 서비스, 레포지토리 처럼 어느정도 유사한 패턴이 있다.
  • 이런 경우 자동 기능을 적극 사용하는 것이 좋다.


기술 지원 로직

  • 업무 로직과 비교했을 때, 상대적으로 그 숫자가 매우 작다.
  • 보통 애플리케이션 전반에 걸쳐서 관범위하게 영향을 미친다.
  • 이런 경우 수동 빈 등록 기능을 사용해서 명확하게 들어내자.




  • 본 게시글은 김영한님의 강의를 토대로 정리한 글입니다.
  • 더 자세한 내용을 알고 싶으신 분들이 계신다면, 해당 강의를 수강하시는 것을 추천드립니다.