1부. 스프링 부트 기본
1장. 스프링 부트의 핵심 기능
__기술 요구 사항
____자바 17 설치
____최신 IDE 설치
____깃허브 계정 생성
____추가 지원 찾기
__스프링 빈 자동 설정
____애플리케이션 콘텍스트 이해
____스프링 부트의 자동 설정 정책 살펴보기
__스프링 부트 스타터를 사용해 포트폴리오 구성 요소 추가
__설정 프로퍼티를 사용해 설정 사용자 지정
____사용자 지정 프로퍼티 생성
____애플리케이션 설정 외부화
____프로퍼티 기반 빈 설정
__애플리케이션 의존성 관리
__요약
2부. 스프링 부트로 애플리케이션 만들기
2장. 스프링 부트로 웹 애플리케이션 만들기
__start.spring.io을 사용해 애플리케이션 빌드
__스프링 MVC 웹 컨트롤러 생성
__start.spring.io를 사용해 기존 프로젝트 보강
__템플릿을 활용해 콘텐츠 생성
____템플릿에 데모 데이터 추가
____더 나은 디자인으로 애플리케이션 빌드
____생성자 호출을 통한 의존성 주입
____HTML 템플릿을 통해 데이터 변경
__JSON 기반 API 생성
__스프링 부트 웹 애플리케이션에 Node.js 후킹
____Node.js로 자바스크립트 빌드
____React.js 애플리케이션 생성
__요약
3장. 스프링 부트로 데이터 쿼리하기
__기존 스프링 부트 애플리케이션에 스프링 데이터 추가하기
____스프링 데이터를 사용해 손쉽게 데이터 관리
____프로젝트에 스프링 데이터 JPA 추가
__DTO, 엔티티, POJO
____엔티티
____DTO
____POJO
__스프링 데이터 리포지터리 생성
__사용자 지정 파인더 사용
__결과 정렬
__쿼리 결과 제한
__까다로운 답변을 찾기 위한 쿼리 예제
__자바 퍼시스턴트 API 사용
__요약
4장. 스프링 부트 애플리케이션 보호
__프로젝트에 스프링 시큐리티 추가
__사용자 지정 보안 정책으로 자체 사용자
이 책에서 다루는 내용
번거로움을 최소화하고 강력한 프로덕션 수준의 웹 애플리케이션 만들기
하나의 아티팩트로 여러 환경을 지원하고, 프로덕션급 지원 기능 추가하기
다양한 속성을 통해 자바 앱을 조정하는 방법 알아보기
앱의 보안 모델 강화하기
스프링 부트에서 네이티브 배포 및 반응형 프로그래밍과 같은 향상된 기능 활용하기
가벼운 단위 테스트부터 완전히 실행되는 임베디드 웹 컨테이너 통합 테스트까지 빌드하기
반응형 프로그래밍을 알아보고 적합한 접근 방식인지 의사 결정하기
이 책의 대상 독자
스프링 부트 3.0을 사용하고자 하는 초보자와 숙련된 스프링 개발자 모두를 위해 만들어졌다. 자바에 대한 기초적인 이해가 있어야 하며, 가급적이면 자바 8 이상 버전이어야 한다. 람다(lambda 함수, 메서드(method 참조, 레코드(record 유형, 자바 17 버전에서 새롭게 개선된 컬렉션 API에 익숙하면 좋지만 필수는 아니다.
필수는 아니지만 이전 버전의 스프링 부트(1.x, 2.x를 사용해본 경험이 있다면 도움이 될 것이다.
이 책의 구성
1장, ‘스프링 부트의 핵심 기능’에서는 애플리케이션을 빌드할 때 사용할 수 있는 기본 기능과 함께 스프링 부트의 매력을 알아본다.
2장, ‘스프링 부트로 웹 애플리케이션 만들기’는 서버 및 클라이언트 측 옵션을 모두 사용해 자바 애플리케이션의 웹 레이어(layer를 쉽게 제작하는 방법을 알려준다.
3장, ‘스프링 부트로 데이터 쿼리하기’에서는 스프링 데이터로 데이터베이스를 최대한 활용하는 방법을 보여준다.
4장, ‘스프링 부트 애플리케이션 보호’에서는 스프링 시큐리티의 최첨단 기능을 사용해 애플리케이션을 내부와 외부의 악당으로부터 보호하는 방법을 살펴본다.
5장, ‘스프링 부트 테스트’는 모의 데이터베이스와 임베디드 데이터베이스로 테스트하고, 실제 데이터베이스와 결합된 테스트컨테이너(Testcontainer를 사용해 시스템에 대한 신뢰를 구축하는 방법을 알려준다.
6장,