목차

    ⏳ Time Log/1. One Day (Daily · TIL)

    [TIL] Day 71 — Spring Boot 핵심 개념 복습 (1/28)

    this.Serena 2026. 6. 8. 21:49

    [TIL] Day 71 — Spring Boot 핵심 개념 복습 (1/28)

    날짜: 2026-01-28
    기술 스택: Spring Boot JPA Spring MVC


    한 줄 요약: 지금까지 배운 Spring Boot 전반 내용 복습 — IoC/DI, MVC 흐름, JPA 영속성 컨텍스트 재정리


    Spring Boot 핵심 개념 복습 체크리스트

    IoC / DI (제어의 역전 / 의존성 주입)

    // 나쁜 예 — 강한 결합
    public class OrderService {
        private MemberRepository memberRepository = new MemberRepository(); // 직접 생성
    }
    
    // 좋은 예 — DI (Spring이 주입)
    @Service
    @RequiredArgsConstructor
    public class OrderService {
        private final MemberRepository memberRepository; // Spring이 알아서 주입
    }

    Spring MVC 요청 처리 흐름

    HTTP 요청
    ↓
    DispatcherServlet (프론트 컨트롤러)
    ↓
    HandlerMapping → 어떤 Controller?
    ↓
    Controller → 비즈니스 로직 위임
    ↓
    Service → Repository
    ↓
    Model + ViewName 반환
    ↓
    ViewResolver → Thymeleaf 템플릿
    ↓
    HTTP 응답

    JPA + Spring Data JPA 핵심 복습

    // Repository 인터페이스만 선언하면 구현체 자동 생성
    public interface MemberRepository extends JpaRepository<Member, Long> {
        Optional<Member> findByEmail(String email); // 메서드 이름으로 쿼리 자동 생성
    }
    메서드 설명
    save() INSERT or UPDATE (ID가 null이면 INSERT, 기존 엔티티면 MERGE)
    findById() PK로 단건 조회, Optional 반환
    findAll() 전체 조회
    delete() 삭제

    더 알아볼 것

    • @SpringBootApplication이 포함하는 3가지 어노테이션 역할
    • @Controller vs @RestController 차이
    • Spring Boot Auto Configuration 동작 원리
    • JpaRepository vs CrudRepository vs PagingAndSortingRepository