목차
[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가지 어노테이션 역할 -
@Controllervs@RestController차이 - Spring Boot Auto Configuration 동작 원리
-
JpaRepositoryvsCrudRepositoryvsPagingAndSortingRepository
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| [TIL] Day 97 — Python 가상환경(venv) + LangChain 개발 환경 세팅 + 호텔 챗봇 실행 (3/11) (0) | 2026.06.08 |
|---|---|
| [TIL] Day 80 — 특강: AI 시대 개발자 취업 전략 (2/10) (0) | 2026.06.08 |
| [TIL] Day 69 — Querydsl 동적 쿼리 + 쇼핑몰 상품 관리 (1/26) (0) | 2026.06.08 |
| [TIL] Day 67 — JPA 영속성 컨텍스트 심화 (1/22) (0) | 2026.06.08 |