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