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

개키우는개발자 : )

스프링 부트 자세히 살펴보기 본문

토비의 스프링 부트 - 이해와 원리/섹션11 - 스프링 부트 자세히 살펴보기

스프링 부트 자세히 살펴보기

DOGvelopers 2025. 1. 4. 11:20
반응형

요약 및 핵심 개념

이 강의는 스프링 부트를 제대로 활용하기 위해 자동 구성과 관련된 동작 원리를 이해하는 과정을 다룹니다. 스프링 부트의 자동 구성 빈, 기술 선택, 설정 방식을 탐구하며, 개발자가 어떻게 이 기능을 활용하고 확장할 수 있는지에 대해 논의합니다.


핵심 내용

1. 스프링 부트를 시작하는 첫 단계: 기술 선택

  • 기술 스택 결정:
    • 사용할 언어: Java 또는 Kotlin.
    • 웹 기술: Servlet 기반 vs. Reactive 기반.
    • 데이터 액세스 방식: SQL 또는 NoSQL.
    • 보안, 캐싱, 클라우드 통합 등도 고려.
    • 관련 선택지들이 수십 가지에 달함.
  • Spring Initializer:
    • Spring Initializer를 사용해 프로젝트 템플릿 생성.
    • Gradle 또는 Maven 설정 파일(build.gradle, pom.xml)에 필요한 의존성을 자동으로 추가.
    • Spring Boot Starter를 통해 주요 라이브러리와 설정을 포함.

2. 자동 구성의 동작 원리

  • 자동 구성 후보 로딩:
    • 선택한 기술에 따라 약 144개의 기본 자동 구성 클래스 로딩.
    • Spring Actuator, Spring Cloud 등 추가 모듈을 사용하면 더 많은 후보 클래스가 로딩됨.
  • 조건부 등록 (Conditional):
    • Dependency, 프로퍼티 설정 등 조건에 따라 특정 자동 구성 클래스가 활성화.
    • 기본 상태에서 디폴트 속성값으로 빈이 준비됨.
  • 외부 설정 적용:
    • Spring의 Environment 추상화를 통해 다양한 소스로부터 설정 값 로딩.
    • 예: DB 연결 정보, 서블릿 컨테이너 설정, 포트 번호 등.

3. 사용자 구성 (User Configuration)

  • 컴포넌트 스캔:
    • 애플리케이션 로직과 도메인 로직이 컨테이너 빈으로 등록.
    • 서비스, 레포지토리, 컨트롤러 등이 자동으로 빈으로 관리됨.
  • 커스텀 인프라 빈:
    • 개발자가 작성한 Configuration 클래스@Bean 애노테이션으로 Spring Boot 기본 빈을 대체 가능.
    • 서드 파티 기술 및 인프라 빈을 추가적으로 등록 가능.

4. 자동 구성 빈의 탐구와 활용

  • 자동 구성 빈 이해:
    • Spring Boot의 자동 구성 빈이 무엇인지, 어떤 프로퍼티와 디폴트 설정을 가지는지 탐구 필요.
    • 선택한 기술에 따라 어떤 빈이 등록되는지 확인하고, 이를 활용.
  • 웹 모듈 예시:
    • Spring Web을 선택하면 단순한 디스패처 서블릿 등록뿐만 아니라 다양한 자동 구성 빈이 추가됨.
    • 이를 통해 개발자는 간단한 설정만으로 고급 기능을 활용 가능.
  • 커스터마이징:
    • 프로퍼티 설정을 통해 자동 구성 빈의 동작을 변경하거나 확장 가능.
    • 필요 시 직접 빈을 작성해 기존 빈을 대체하거나 보완 가능.

결론

1. 스프링 부트의 자동 구성 활용

  • 자동 구성 빈의 목록과 동작 원리를 이해하면 더 효율적이고 자신감 있는 개발 가능.
  • 제공된 자동 구성 빈을 활용해 필요한 기술을 익히고, 개발 속도를 높일 수 있음.

2. 기술 선택의 중요성

  • Initializer 단계에서의 선택이 전체 프로젝트 구조와 자동 구성 동작에 직접적인 영향을 미침.
  • 기술 선택 후, 그에 맞는 자동 구성 빈과 연결된 기술들을 차근차근 탐구.

3. 확장과 커스터마이징

  • 스프링 부트 개발자가 제안한 자동 구성뿐만 아니라, 개발자가 직접 확장하거나 대체 가능한 구조 제공.
  • 이를 통해 프로젝트 요구 사항에 맞게 커스터마이징 가능.

4. 다음 단계

  • 스프링 부트가 자동으로 생성하는 빈 중, 선택된 기술에 의해 등록된 구성들을 자세히 탐구.
  • Spring Boot의 기본 설정과 작동 방식을 깊이 이해한 후, 이를 기반으로 고급 기능 및 모듈(예: JPA, Redis, 클라우드 기능) 활용 학습 예정.
반응형
Comments