일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- XML
- spring aop
- Di
- spring
- 마이바티스
- @AspectJ
- java spring
- spring framework
- JDBC TEMPLATE
- @Spring-Test
- JdbcTemplate
- @JUnit
- Linux
- 프로퍼티
- @test
- 컨테이너
- AOP
- Spring Boot
- pointcut
- 리눅스
- Spring JDBC
- STS
- unix
- java
- Framework
- Dependency Injection
- Ubunt
- POJO
- myBatis
- SpringJDBC
Archives
- Today
- Total
개키우는개발자 : )
스프링 부트 자세히 살펴보기 본문
반응형
요약 및 핵심 개념
이 강의는 스프링 부트를 제대로 활용하기 위해 자동 구성과 관련된 동작 원리를 이해하는 과정을 다룹니다. 스프링 부트의 자동 구성 빈, 기술 선택, 설정 방식을 탐구하며, 개발자가 어떻게 이 기능을 활용하고 확장할 수 있는지에 대해 논의합니다.
핵심 내용
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, 클라우드 기능) 활용 학습 예정.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션11 - 스프링 부트 자세히 살펴보기' 카테고리의 다른 글
Web 자동 구성 살펴보기 (0) | 2025.01.04 |
---|---|
Core 자동 구성 살펴보기 (1) | 2025.01.04 |
자동 구성 조건 결과 확인 (0) | 2025.01.04 |
자동 구성 분석 방법 (0) | 2025.01.04 |
스프링 부트의 자동 구성과 테스트로 전환 (0) | 2025.01.04 |
Comments