스프링 부트를 사용하여 확장 가능한 최신 웹 애플리케이션을 구축하는 과정을 안내하는 종합 가이드인 '실전 스프링 부트 웹 개발 (feat. Java, Mustache, JDBC, MySQL, Maven)'에 오신 것을 환영합니다. 이 책은 초보자이든 스프링 부트에 대한 지식을 향상시키려는 숙련된 개발자이든 상관없이 스프링 부트의 기능을 사용하여 강력한 웹 애플리케이션을 만드는 데 필요한 도구, 모범 사례 및 심층적인 지식을 제공합니다. 각 장에서는 기본 설정 및 구성부터 시작하여 AOP, 트랜잭션 관리, 보안과 같은 고급 주제에 이르기까지 구체적인 개념을 살펴봅니다.
1장, '스프링 부트 개발환경'에서는 Java 및 Spring Tools 4의 설치 과정을 안내하여 기초를 다지고, 개발 환경을 준비하여 스프링 부트 애플리케이션 빌드를 시작할 수 있도록 도와줍니다.
2장, '스프링 부트 프로젝트 생성'에서는 첫 번째 스프링 부트 프로젝트를 생성하는 데 필요한 필수 사항을 다룹니다. 프로젝트 구성, Spring MVC, 스프링 부트 애플리케이션의 구조는 물론 시작을 위해 필수 의존성을 추가하는 방법에 대해 배웁니다.
3장, '롬복'에서는 @Getter, @Setter, @ToString 등과 같은 어노테이션을 제공하여 JavaBeans 모델을 단순화하는 Lombok 라이브러리를 소개합니다. 이 장에서는 롬복의 설치 및 실제 사용 사례를 다룹니다.
4장, '컨트롤러 요청 매핑'에서는 다양한 HTTP 메서드와 매핑 전략을 사용하여 들어오는 요청을 적절한 컨트롤러 메서드에 매핑하는 방법을 설명합니다. 매개변수, 헤더, 콘텐츠 유형 및 이를 처리하는 방법에 대해 알아봅니다.
5장, '컨트롤러 응답'에서는 컨트롤러가 다양한 클라이언트에 적합한 형식으로 올바른 데이터를 반환할 수 있도록 문자열, JavaBean, ResponseEntity와 같은 다양한 유형의 응답을 처리하는 방법을 살펴봅니다.
6장, '컨트롤러 요청 처리'에서는 들어오는 요청을 처리하는 데 중점을 둡니다. 폼 제출, 파일 업로드, Ajax 요청을 처리하는 방법과 요청 처리의 일부로 데이터 유형을 변환하고 JavaBeans를 관리하는 방법을 배우게 됩니다.
7장, '데이터 전달자 모델'에서는 모델과 @ModelAttribute와 같은 어노테이션을 사용해 애플리케이션의 여러 계층 간에 데이터를 전달하는 방법을 살펴보고, 웹 상호작용 중에 Spring MVC가 데이터를 처리하는 방법을 이해하는 데 도움을 줍니다.
8장, '머스테치'에서는 최소한의 템플릿 엔진인 머스테치를 소개하고 동적 보기를 생성하기 위한 스프링 부트와의 통합에 대해 설명합니다. 웹 페이지에서 변수, 섹션 및 레이아웃을 사용하는 방법을 배웁니다.
9장, '스프링 폼'에서는 폼 요소와 스프링 부트에서 효과적으로 작업하는 방법을 다룹니다. 이 장에서는 텍스트 필드, 체크박스, 라디오 버튼, 선택 상자를 처리하고 입력 유효성 검사 오류를 관리하는 방법을 안내합니다.
10장, '입력 유효성 검증'에서는 폼과 애플리케이션에서 데이터 무결성과 일관성을 보장하기 위한 스프링의 유효성 검사기 인터페이스와 규칙에 초점을 맞춰 사용자 입력의 유효성 검사에 대해 자세히 살펴봅니다.
11장, '메시지 처리'에서는 스프링 부트에서 다국어 애플리케이션을 쉽게 만들 수 있도록 국제화 및 메시지 소스를 처리하는 방법을 보여줍니다.
12장, '의존성 주입'에서는 필드 기반, 생성자 기반, 설정자 기반 주입을 비롯한 스프링 부트의 다양한 의존성 주입 메커니즘과 자동 배선에 대해 설명합니다.
13장, '세션과 쿠키'에서는 사용자 세션과 쿠키를 관리하는 방법과 @SessionAttributes와 같은 어노테이션을 사용하여 로그인, 로그아웃, 장바구니와 같은 기능을 구현하는 방법을 설명합니다.
14장, '예외 처리'에서는 오류 응답을 사용자 정의하고 입력 유효성 검사 문제를 효과적으로 처리하는 방법을 포함하여 스프링 부트 애플리케이션에서 예외를 처리하기 위한 전략을 제공합니다.
15장, '인터셉터'에서는 요청이 컨트롤러에 도달하기 전 또는 응답이 생성된 후에 처리하기 위한 강력한 도구인 인터셉터를 소개합니다. 인터셉터를 구성하고 로깅이나 세션 관리와 같은 작업에 사용하는 방법을 배웁니다.
16장, '데이터베이스 연결'에서는 데이터베이스를 설정하고, 데이터 소스를 구성하고, Spring JDBC, JPA 및 MyBatis로 CRUD 작업을 소개하는 과정을 안내합니다.
17장, '스프링 JDBC'에서는 스프링 JDBC에 대해 자세히 살펴보고 관계형 데이터베이스와 상호 작용하는 방법을 설명합니다. 이 장에서는 데이터 검색, 데이터 수정, RowMapper 및 ResultSetExtractor와 같은 인터페이스로 작업하는 방법을 다룹니다.
18장, '게시판 프로젝트'에서는 게시물 작성, 유효성 검사, 편집 및 삭제와 같은 기능을 포함하여 게시판 시스템을 처음부터 구축하는 실제 프로젝트 사례 연구를 다룹니다.
19장, '파일 업로드'에서는 이미지 처리, 다중 파일 업로드 및 비동기 업로드를 포함하여 스프링 부트에서 파일 업로드를 구현하는 방법을 다룹니다.
20장, 'AOP'에서는 로깅, 보안 및 트랜잭션 관리와 같은 교차적인 문제를 포인트컷과 조언을 사용하여 구현하는 방법을 알려주는 스프링 부트의 측면 지향 프로그래밍을 소개합니다.
21장, '트랜잭션'에서는 애플리케이션에서 트랜잭션을 관리하는 데 중점을 둡니다. 트랜잭션을 구성하고 다양한 작업에서 데이터 무결성을 보장하는 방법을 배우게 됩니다.
22장, '스프링 시큐리티'에서는 웹 애플리케이션 보안에 대해 자세히 살펴봅니다. 인증 및 권한 부여를 구성하고, 사용자 정의 로그인 페이지를 만들고, 액세스 제한을 관리하고, 보안 관련 예외를 처리하는 방법을 배웁니다.
23장, '실전 프로젝트'에서는 새로 습득한 스프링 부트 지식을 적용하여 프로덕션 지원 애플리케이션을 구축할 수 있는 일련의 프로젝트 기반 예제를 제공합니다. 이 장에서는 회원 관리 시스템 생성부터 검색 기능 및 게시판 구현에 이르기까지 스프링 부트를 사용한 웹 개발에 대한 실용적인 접근 방식을 제공합니다.
이 책을 마치면 스프링 부트를 사용하여 웹 애플리케이션을 빌드, 보호 및 배포하는 방법을 깊이 이해하고, 확장 가능하고 유지 관리가 쉬운 프로젝트를 만들기 위해 광범위한 도구와 기능을 활용할 수 있습니다. 간단한 웹사이트를 개발하든 복잡한 엔터프라이즈 솔루션을 개발하든 이 가이드는 스프링 부트로 성공하는 데 필요한 지식과 전문 지식을 제공합니다.
이 책은 종이책 형태가 아닌 EPUB 전자책으로 제작되어, 전통적인 페이지 레이아웃과는 다른, 웹 기반의 흐름을 취하고 있습니다. 따라서 종이책과 같은 구성에 익숙한 독자라면 다소 이질감을 느낄 수 있습니다.