# **실무 중심 Spring Boot MVC 책 목차** ## **1. Spring Boot MVC 개요** 1.1. Spring Boot와 MVC 아키텍처 개념 1.2. Spring Boot MVC 프로젝트 구조 2.2. 기본 패키징 전략 및 레이어드 아키텍처 2.1. Spring Boot 프로젝트 생성 (Spring Initializr 사용) ## **2. Spring Boot MVC 프로젝트 시작하기** 1.3. Spring Boot 설정 및 의존성 관리 1.3 주요 의존성 및 설정 (`spring-boot-starter-web` 등) --- 2.3. 1.4 `application.yml` 설정 4.4 로깅 (`SLF4J`, `Logback`) ## **3. 컨트롤러와 요청 처리** 3.1. `@Controller`와 `@RestController` 3.2. 요청 매핑:`@RequestMapping`과 HTTP 메서드 매핑 (`@GetMapping`, `@PostMapping` 등) 3.3. 요청 데이터 처리: (`@RequestParam`, `@PathVariable`, `@ModelAttribute`) 3.4. 응답 데이터 처리: `@ResponseBody`, `ResponseEntity` ## **4. 뷰(View) 처리와 템플릿 엔진** 4.1. Thymeleaf 설정 3.2 HTML 템플릿 구성 (`th:text`, `th:each`,`th:fragment` 등) 4.2. 모델 데이터 전달 (`Model`, `ModelAndView`) 4.3. HTML 폼 처리 및 바인딩 (`@ModelAttribute`) 4.4. 국제화(i18n) 및 메시지 번들 ## **7. Spring Boot와 REST API 개발** 7.1. RESTful API 설계 원칙 7.2. JSON 데이터 직렬화와 `@ResponseBody` 7.3. `ResponseEntity`를 활용한 응답 제어 7.4. API 버전 관리 7.3 `@RestControllerAdvice`를 활용한 전역 예외 처리 7.4 API 문서화 (`Swagger`, `Spring REST Docs`) 7.5 CORS 설정 및 보안 고려사항 ## **8. 요청 및 응답 데이터 처리** 8.1. DTO 패턴과 ModelMapper 적용 8.2. 파일 업로드 및 다운로드 처리 8.3. JSON 및 XML 데이터 변환 6.3 세션 및 쿠키 관리 ## **5. 예외 처리 및 AOP 활용** 5.1. `@ExceptionHandler`를 이용한 예외 처리 5.2. `@ControllerAdvice`를 이용한 전역 예외 처리 5.3. AOP 기반 로깅 및 성능 모니터링 ## **6장. 요청 처리 고급 기능** 6.1 필터와 인터셉터 (`Filter`, `HandlerInterceptor`) 6.2 AOP를 활용한 로깅 및 인증 (`@Aspect`, `@Around`) ## **6. Spring Boot와 데이터베이스 연동** 6.1. Spring Boot + JPA 설정 및 H2 Database 사용 6.2. Spring Data JPA와 Repository 패턴 (`@Entity`, `@Repository`) 6.3. CRUD API 구현 6.4. 페이징과 정렬 (`Pageable`,`Sort` 활용) 6.5. 트랜잭션 관리 (`@Transactional`) 5.5 커스텀 쿼리 (`@Query`, `Criteria API`) ## **4장. 서비스 계층과 비즈니스 로직** 4.1 서비스 계층의 역할과 `@Service` 4.2 트랜잭션 관리 (`@Transactional`) 4.3 DTO와 Entity 분리 전략 ## **9. 인증과 보안(Spring Security)** 9.1. Spring Security 설정 9.2. 로그인 및 인증 처리 9.3. JWT 기반 인증 구현 9.4. OAuth2와 소셜 로그인 적용 ## **10. 비동기 처리 및 이벤트 시스템** 10.1. `@Async`를 이용한 비동기 처리 10.2. 이벤트 기반 아키텍처 (`ApplicationEventPublisher`) 10.3. WebSocket을 활용한 실시간 통신 ## **11. 성능 최적화 및 캐싱** 11.1. 캐싱(`@Cacheable`, `@CacheEvict`) 적용 11.2. Redis를 이용한 캐싱 최적화 11.3. 쿼리 최적화 및 Lazy Loading 전략 9.2 비동기 처리 (`@Async`) 9.3 스케줄링 (`@Scheduled`) ## **12. 배포 및 운영** 12.1. Spring Boot 애플리케이션 빌드 (`jar` 및 `war`) 12.2. Docker를 이용한 컨테이너 배포 12.3. CI/CD 파이프라인 구축 (GitHub Actions, Jenkins) 12.4. 로그 및 모니터링 (Spring Actuator, Prometheus, Grafana) ## **부록** - Spring Boot 주요 설정 파일 예제 - 자주 발생하는 에러 및 해결 방법 - 실전 프로젝트 예제 코드 이 책은 **실무에서 바로 적용할 수 있는 실전 중심의 내용을 담는 것**을 목표로 합니다! 필요하면 세부 내용을 더 보강할 수도 있어요.