# **실무 중심 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 주요 설정 파일 예제  
- 자주 발생하는 에러 및 해결 방법  
- 실전 프로젝트 예제 코드  

이 책은 **실무에서 바로 적용할 수 있는 실전 중심의 내용을 담는 것**을 목표로 합니다! 필요하면 세부 내용을 더 보강할 수도 있어요.