동적이고 강력한 웹 애플리케이션을 만들기 위한 스프링 부트 마스터를 위한 궁극의 가이드인 '실전 스프링 부트 웹 개발 (feat. Java, Thymeleaf, JPA, MySQL, Maven)'에 오신 것을 환영합니다. 스프링 프레임워크의 강력한 확장인 스프링 부트는 Java 기반 애플리케이션 개발에 대한 간소화된 접근 방식을 제공하여 개발자가 프로덕션에 바로 사용할 수 있는 애플리케이션을 쉽게 구축할 수 있도록 해줍니다. 이 책은 초기 설정부터 고급 기능까지 안내하여 스프링 부트의 잠재력을 최대한 활용할 수 있도록 구성되어 있습니다.
1장, '스프링 부트 개발 환경'에서는 개발 여정의 토대를 마련합니다. Java와 Spring Tools 4를 설치하는 것부터 시작합니다.
2장, '스프링 부트 프로젝트 만들기'에서는 첫 번째 스프링 부트 프로젝트를 만들고 구성하는 과정을 안내합니다. 프로젝트를 시작하고, 파일을 구성하고, 실행하고, 스프링 MVC의 핵심 구조와 종속성을 이해하는 방법을 배우게 됩니다.
3장, '롬복'에서는 상용구 코드를 줄여주는 Java 라이브러리인 Lombok을 소개합니다. 이 장에서는 Lombok을 설치하고 @Getter, @Setter, @Data, @Builder와 같은 다양한 어노테이션을 사용하여 코드를 간소화하는 방법을 설명합니다.
4장, '컨트롤러 요청 매핑'에서는 HTTP 요청을 컨트롤러 메서드에 매핑하는 메커니즘을 살펴봅니다. 다양한 요청 시나리오를 처리하기 위한 경로 패턴, HTTP 메서드, 콘텐츠 유형 등 다양한 매핑 기법을 살펴봅니다.
5장, '컨트롤러 응답'에서는 컨트롤러 메서드에서 응답을 만드는 데 중점을 둡니다. API 응답을 효과적으로 처리하기 위해 void, String, JavaBean 클래스, 다양한 ResponseEntity 유형 등 다양한 유형의 응답을 반환하는 방법에 대해 알아보세요.
6장, '컨트롤러 요청 처리'에서는 컨트롤러 내에서 들어오는 요청을 처리하는 방법을 다룹니다. 메서드 매개변수를 처리하고, 요청 데이터를 처리하고, Ajax 스타일 요청을 포함한 양식 및 파일 업로드를 관리하는 방법을 알아보세요.
7장, '데이터 전달자 모델'에서는 애플리케이션에서 데이터를 관리하고 전송하는 방법을 설명합니다. 이 장에서는 모델 객체의 개념, @ModelAttribute의 사용, RedirectAttributes로 데이터를 처리하는 방법을 소개합니다.
8장, '타임리프'에서는 웹 페이지 렌더링에 사용되는 템플릿 엔진인 타임리프에 대해 소개합니다. 텍스트 사용법, 표현식, 속성 값 설정, 재사용 가능한 템플릿을 만들어 웹 페이지를 향상시키는 방법에 대해 알아봅니다.
9장, '스프링 폼'에서는 웹 양식의 생성과 처리를 살펴봅니다. 텍스트 필드, 체크박스, 라디오 버튼, 입력 유효성 검사 등 다양한 폼 요소를 다뤄 효과적인 사용자 상호작용을 보장합니다.
10장, '입력 유효성 검사'에서는 데이터 무결성을 유지하기 위한 사용자 입력 유효성 검사에 대해 자세히 다룹니다. 이 장에서는 유효성 검사 규칙, 결과 및 사용자 정의 유효성 검사를 위한 스프링 유효성 검사기 인터페이스 사용에 대해 설명합니다.
11장, '메시지 처리'에서는 국제화 및 메시지 처리에 대해 다룹니다. 메시지 소스를 정의하고 사용하는 방법과 애플리케이션에서 여러 언어를 지원하기 위해 국제화를 구현하는 방법을 알아보세요.
12장, '의존성 주입'에서는 스프링 부트에서 의존성 주입의 핵심 개념을 다룹니다. 필드 기반, 생성자 기반, 세터 기반 등 다양한 주입 방법과 자동 연결 기술을 살펴봅니다.
13장, '세션과 쿠키'에서는 사용자 세션과 쿠키 관리에 대해 설명합니다. 로그인 및 로그아웃 처리, 장바구니 구현, 사용자 관리를 위한 세션 속성 및 쿠키 사용에 대해 알아봅니다.
14장, '예외 처리'에서는 애플리케이션의 오류 및 예외 처리에 대해 중점적으로 다룹니다. 이 장에서는 사용자 정의 어노테이션, 404 오류 처리, 유효성 검사 예외 관리 등 다양한 예외 처리 전략을 다룹니다.
15장, '인터셉터'에서는 요청과 응답을 처리하기 위한 인터셉터의 개념을 소개합니다. 세션 관리, 액세스 로깅, 여러 인터셉터를 효과적으로 처리하기 위해 인터셉터를 설정하는 방법을 알아보세요.
16장, '데이터베이스 연결'에서는 애플리케이션을 데이터베이스에 연결하는 방법을 안내합니다. MySQL 설치, 데이터 소스 설정을 다루고 스프링 JDBC, JPA, MyBatis를 비롯한 다양한 데이터베이스 상호 작용 방법을 살펴봅니다.
17장, 'JPA'에서는 데이터베이스 운영을 위한 Java Persistence API(JPA)에 대해 소개합니다. 이 장에서는 JPA 구성, 어노테이션, 스프링 데이터 JPA, JPQL 및 Querydsl과 같은 쿼리 방법을 다룹니다.
18장, 'JPA 사용법'에서는 실제 JPA 애플리케이션을 확장합니다. CRUD 작업, 페이지 매김, 검색 기능, 단방향 및 양방향 매핑을 포함한 다양한 엔티티 연결에 대해 알아봅니다.
19장, 'JPA 연결'에서는 고급 엔터티 연결을 살펴봅니다. 일대다, 다대다, 일대일 및 다대다 관계와 같은 다양한 유형의 연결에 대해 알아봅니다.
20장, '게시판 프로젝트'에서는 완전한 게시판 애플리케이션을 만드는 과정을 안내합니다. 이 장에서는 완전한 기능을 갖춘 게시판을 위한 프로젝트 설정, 게시물 등록, 데이터베이스 연결 및 CRUD 작업을 다룹니다.
21장, '파일 업로드'에서는 파일 업로드를 처리하는 방법을 살펴봅니다. 이미지 업로드, 여러 파일 업로드, 비동기 업로드에 대해 살펴보고 파일 처리의 일반적인 문제를 해결합니다.
22장, 'AOP'에서는 횡단 관심사 문제를 관리하기 위한 관점 지향 프로그래밍(AOP)을 소개합니다. 포인트컷 표현식과 Before 어드바이스, After 어드바이스, Around 어드바이스와 같은 다양한 유형의 어드바이스에 대해 알아보세요.
23장, '트랜잭션'에서는 데이터 일관성을 보장하기 위한 트랜잭션 관리에 대해 설명합니다. 데이터 작업을 효과적으로 관리하기 위한 트랜잭션 구성과 적용에 대해 알아봅니다.
24장, '스프링 시큐리티'에서는 애플리케이션 보안에 대한 개요를 제공합니다. 스프링 시큐리티 구성, 접근 제한, 로그인 처리, JDBC 기반 인증을 포함한 사용자 정의 보안 핸들러를 다룹니다.
25장, '실제 프로젝트'에서는 실제 프로젝트를 통해 지식을 통합합니다. MVC 설정, 메시지 처리, 보안 구현, 로깅 등 다양한 애플리케이션을 구축하여 애플리케이션 배포로 마무리합니다.
이 책은 스프링 부트로 강력하고 확장 가능한 웹 애플리케이션을 구축하기 위한 로드맵입니다. 초보자이든 숙련된 개발자이든 이 책을 통해 고품질 Java 기반 웹 애플리케이션을 만드는 데 필요한 기술과 지식을 습득할 수 있습니다.