Files
spring-boot-examples/docs/README.md
2025-04-08 19:56:24 +09:00

101 lines
3.8 KiB
Markdown

# **실무 중심 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 주요 설정 파일 예제
- 자주 발생하는 에러 및 해결 방법
- 실전 프로젝트 예제 코드
이 책은 **실무에서 바로 적용할 수 있는 실전 중심의 내용을 담는 것**을 목표로 합니다! 필요하면 세부 내용을 더 보강할 수도 있어요.