스프링 부트로 웹 개발을 마스터하기 위한 종합 가이드인 '실전 스프링 부트 웹 개발 (feat. Java, JSP, MyBatis, MySQL, Maven)'에 오신 것을 환영합니다. 스프링 부트는 Java 기반 웹 애플리케이션 개발을 간소화하도록 설계된 강력하고 사용하기 쉬운 프레임워크입니다. 이 책은 초보자부터 숙련된 전문가까지 모든 수준의 개발자가 스프링 부트의 강력한 기능을 사용하여 현대적이고 확장 가능하며 안전한 웹 애플리케이션을 구축할 수 있도록 맞춤 제작되었습니다.
1장, '스프링 부트 개발 환경'에서는 스프링 부트 애플리케이션 개발을 시작하는 데 필요한 초기 설정에 대해 소개합니다. 효율적인 코딩을 위해 개발 환경이 올바르게 구성되었는지 확인하고 Java와 Spring Tools 4를 설치하는 방법을 배웁니다.
2장, '스프링 부트 프로젝트 생성'에서는 첫 번째 스프링 부트 프로젝트를 생성하는 과정을 안내합니다. 프로젝트 파일 구성을 이해하고, Spring MVC의 구조를 살펴보고, 프로젝트 설정을 간소화하는 스프링 부트 스타터 종속성에 대해 알아보세요.
3장, '롬복'에서는 인기 있는 Java 라이브러리인 롬복으로 JavaBeans를 간소화하는 데 중점을 둡니다. 이 장에서는 @Getter, @Setter, @Data와 같은 롬복 어노테이션을 다루고 이를 사용하여 상용구 코드를 줄이는 방법을 설명합니다.
4장, '컨트롤러 요청 매핑'에서는 스프링 부트 애플리케이션에서 요청 경로 매핑을 소개합니다. HTTP 메서드, 경로 패턴, 헤더 및 콘텐츠 유형을 특정 컨트롤러 메서드에 매핑하여 애플리케이션이 클라이언트 요청을 효율적으로 처리하도록 하는 방법을 살펴봅니다.
5장, '컨트롤러 응답'에서는 스프링 부트에서 String, JavaBean, ResponseEntity를 비롯한 다양한 응답 유형을 처리하는 방법을 설명합니다. 데이터를 클라이언트에 다시 전송하는 방법을 제어하여 응답 형식의 유연성을 확보하는 방법을 배우게 됩니다.
6장, '컨트롤러 요청 처리'에서는 스프링 부트의 요청 처리에 대해 자세히 살펴봅니다. 이 장에서는 메서드 매개변수, 데이터 변환, 폼 처리, 파일 업로드 처리를 비롯해 보다 동적인 애플리케이션을 위한 Ajax 스타일의 요청 처리를 다룹니다.
7장, '모델'에서는 스프링 부트의 모델에 중점을 둡니다. Model 객체, @ModelAttribute 어노테이션, RedirectAttributes를 사용하여 컨트롤러와 뷰 간에 데이터를 전달하는 방법을 알아봅니다.
8장, 'JSP'에서는 서버에서 동적 콘텐츠를 렌더링하기 위한 자바 서버 페이지(JSP)를 다룹니다. 지시문, 스크립트릿, 사용자 정의 태그 라이브러리, EL(표현식 언어), JSTL을 살펴보면서 JSP가 Spring MVC와 통합되는 방식을 철저히 이해합니다.
9장, '스프링 폼'에서는 텍스트 필드, 체크박스, 라디오 버튼, 셀렉트 박스 같은 폼 요소를 처리하는 방법을 안내합니다. 또한 폼 유효성 검사 오류를 효율적으로 처리하는 방법도 배웁니다.
10장, '입력 유효성 검사'에서는 스프링 부트에서 입력 유효성 검사를 구현하는 방법에 대해 설명합니다. 이 장에서는 유효성 검사 규칙 사용, 유효성 검사 결과 처리, 애플리케이션의 데이터 무결성을 보장하기 위해 중첩된 JavaBean으로 작업하는 방법을 다룹니다.
11장, '메시지 처리'에서는 스프링 부트 애플리케이션에서 메시지 소스와 그 사용법을 소개합니다. 또한 웹 애플리케이션에서 여러 언어를 지원하기 위한 국제화에 대해서도 살펴봅니다.
12장, '의존성 주입'에서는 스프링 부트의 핵심 기능인 의존성 주입의 핵심 개념을 다룹니다. 필드 기반, 생성자 기반, 설정자 기반 주입을 포함해 클래스에 의존성을 주입하는 다양한 방법을 배웁니다.
13장, '세션과 쿠키'에서는 로그인/로그아웃 처리, 장바구니 구현 및 쿠키 사용을 중심으로 스프링 부트의 세션 관리에 대해 설명합니다. 이 장에서는 세션 속성과 그 처리 방법도 소개합니다.
14장, '예외 처리'에서는 스프링 부트에서 효과적인 예외 처리를 안내합니다. 404 오류 페이지부터 유효성 검사 예외까지, 웹 애플리케이션의 오류를 우아하게 관리하는 방법을 배웁니다.
15장, '인터셉터'에서는 요청이 컨트롤러에 도달하기 전에 처리할 수 있는 인터셉터에 대해 중점적으로 다룹니다. 이 장에서는 세션 처리, 액세스 로그 등에 인터셉터를 사용하는 방법을 설명합니다.
16장, '데이터베이스 연결'에서는 스프링 부트 애플리케이션을 MySQL에 연결하는 방법을 안내합니다. 또한 데이터베이스 상호 작용을 위한 데이터 소스 구성, Spring JDBC, JPA 및 MyBatis에 대해 알아봅니다.
17장, '마이바티스'에서는 마이바티스를 스프링 부트와 통합하고, 매퍼 구성, 동적 SQL 및 데이터베이스 테이블의 복잡한 관계를 살펴봅니다.
18장, '게시판 프로젝트'에서는 실제 애플리케이션 시나리오에서 게시물 생성, 수정, 삭제 및 유효성 검사를 다루는 CRUD 게시판 프로젝트를 구축하는 과정을 안내하는 실용적인 장입니다.
19장, '파일 업로드'에서는 이미지 업로드, 다중 파일 업로드, 비동기 파일 처리 등 스프링 부트에서 파일 업로드를 처리하는 방법을 설명합니다.
20장, 'AOP'에서는 스프링 부트의 측면 지향 프로그래밍(AOP)을 다룹니다. 다양한 어드바이스 유형(전, 후, 주변)을 살펴보고 로깅 및 트랜잭션 관리와 같은 횡단 관심사에 AOP를 사용하는 방법을 배웁니다.
21장, '트랜잭션'에서는 스프링 부트 애플리케이션에서 트랜잭션을 관리하여 데이터베이스 운영 전반에서 데이터 일관성과 무결성을 보장하는 방법을 설명합니다.
22장, '스프링 시큐리티'에서는 스프링 시큐리티로 웹 애플리케이션을 보호하는 데 중점을 둡니다. 로그인/로그아웃 처리부터 사용자 정의 액세스 제어 및 권한 부여까지, 이 장에서는 안전한 애플리케이션을 구축하는 방법을 자세히 살펴봅니다.
23장, '실전 프로젝트'에서는 실제 스프링 부트 프로젝트를 구축하는 과정을 안내하며 책을 마무리합니다. 프로젝트 생성, Spring MVC, 입력 유효성 검사, 사용자 관리, 서비스 성능 로깅 및 애플리케이션 패키징과 같은 고급 기능에 대해 배우게 됩니다.
이 책을 마치면 스프링 부트를 사용하여 최신 웹 애플리케이션을 빌드, 보안 및 관리하는 방법에 대해 깊이 있게 이해하여 실제 개발 프로젝트에 필요한 기술을 갖추게 될 것입니다.