[Spring] 숙련 Spring 1주차 마무리 요약 정리

이연우·2025년 7월 26일

TIL

목록 보기
54/100

📘 마무리 요약 정리

1️⃣ 🧰 Spring Container

  • 📦 Spring 애플리케이션의 중심 관리자

→ 역할: Bean 생성, 의존성 주입, 생명주기 관리
→ 예시: ApplicationContext, BeanFactory

2️⃣ ⚙️ Spring Bean

  • 🍲 Spring이 관리하는 Java 객체

@Component, @Service, @Repository, @Controller
→ 기본 스코프: 싱글톤 (singleton)
→ 직접 new 하지 않고 Spring이 대신 생성

3️⃣ ♻️ IOC / DI

개념설명
🧭 IoC (제어의 역전)객체 생성과 제어를 Spring에게 위임
🔗 DI (의존성 주입)필요한 객체를 Spring이 주입

→ 이 두 개념을 통해 객체 간의 결합도 ↓, 유연성 ↑

4️⃣ 🧍‍♂️ Singleton Pattern

  • 인스턴스를 하나만 생성해 공유하는 설계 패턴

→ Spring Bean은 기본적으로 싱글톤으로 관리
→ ✅ 성능, 메모리 효율성
→ ⚠️ 상태(state)를 유지하면 안 됨 → stateless 설계 필수

5️⃣ 🛠️ Spring Bean 등록 방법

방식설명키워드
✅ 자동 등록어노테이션 기반 등록@Component, @Service, @Controller, @ComponentScan
⚙️ 수동 등록명시적으로 코드로 등록@Configuration, @Bean

→ Spring Boot는 기본적으로 자동 등록 방식을 사용

6️⃣ 🔧 의존 관계 주입 (DI 방식)

방식설명특징
✅ 생성자 주입생성자 + @Autowired불변성, 테스트 용이
@RequiredArgsConstructorfinal 필드 기반 생성자 자동 생성Lombok 편의성

생성자 주입은 Spring 없이도 테스트 가능 → 가장 권장

7️⃣ 🛡️ Validation

  • 사용자의 입력값이 유효한지 검사하는 기능
구성 요소설명
@Valid, @Validated어노테이션 기반 검증 적용
BindingResult오류 정보 담는 객체 (필수!)
서버 검증반드시 수행해야 하는 핵심 단계
DB 검증NotNull, Unique 등 최종 방어선

0개의 댓글