반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

개키우는개발자 : )

빈 오브젝트의 역할과 구분 본문

토비의 스프링 부트 - 이해와 원리/섹션7 - 자동 구성 기반 애플리케이션

빈 오브젝트의 역할과 구분

DOGvelopers 2024. 10. 9. 12:45
반응형

요약 및 핵심 개념

스프링의 빈(Bean) 오브젝트를 여러 유형으로 구분하고, 그에 따른 구성 정보 작성 전략을 설명했습니다. 또한 애플리케이션 빈과 인프라스트럭처 빈의 차이를 이해하고, 자동 구성(Auto-Configuration)을 통해 스프링 부트에서 필요한 빈이 어떻게 설정되는지에 대해 다뤘습니다.

핵심 내용

  1. 빈의 종류와 구분:

    • 애플리케이션 빈: 개발자가 명시적으로 구성 정보를 제공한 빈으로, 애플리케이션의 비즈니스 로직이나 도메인 로직을 담당.
    • 인프라스트럭처 빈: 스프링 컨테이너가 내부적으로 사용하는 빈으로, 컨테이너의 기능 확장이나 환경 설정 등을 위한 빈이 포함됨. 예를 들어, Environment, BeanPostProcessor 등이 있습니다.
    • 애플리케이션 빈도 로직 빈인프라스트럭처 빈으로 구분 가능:
      • 로직 빈: 애플리케이션의 주 기능을 수행하는 클래스.
      • 인프라스트럭처 빈: 애플리케이션의 동작을 지원하는 기술적인 클래스, 예를 들어 톰캣 서블릿 웹 서버DispatcherServlet 등이 포함됨.
  2. 자동 구성과 구성 정보 작성 전략:

    • 자동 구성(Auto-Configuration)은 스프링 부트가 제공하는 메커니즘으로, 애플리케이션에서 필요한 인프라스트럭처 빈을 자동으로 등록하고 구성.
    • 자동 구성 정보는 기능별로 분리된 여러 Configuration 클래스로 작성되며, 스프링 부트가 애플리케이션의 필요에 따라 자동으로 구성 정보를 선택하고 적용.
    • 사용자 구성 정보는 개발자가 애노테이션과 컴포넌트 스캔을 통해 직접 정의한 코드로 등록됩니다.
  3. 자동 구성의 동작 원리:

    • Configuration 클래스가 미리 정의된 다양한 빈 구성을 포함하고 있으며, 필요에 따라 해당 빈이 스프링 컨테이너에 등록됩니다.
    • 예를 들어, 서블릿 컨테이너 생성, DispatcherServlet 빈 설정 등이 자동 구성에 의해 처리됩니다.
    • 자동 구성의 동작은 복잡할 수 있으나, 스프링 부트는 이를 쉽고 유연하게 처리할 수 있는 기본 동작 원리를 제공합니다.

결론

스프링 빈의 구분자동 구성의 개념을 이해하고, 스프링 부트 애플리케이션이 독립 실행형으로 동작하기 위해 필요한 빈이 어떻게 설정되는지를 학습했습니다. 이를 통해 스프링 빈 설정의 유연함자동 구성의 편리함을 체감할 수 있었습니다. 다음 강의에서는 자동 구성 정보를 더 자세히 살펴보고, 실제로 적용해보는 작업을 진행할 예정입니다.

반응형
Comments