목차
CHAPTER 1 스프링 부트 입문하기1.1 스프링 부트 소개1.1.1 스프링 부트 특징1.1.2 스프링 부트와 스프링1.2 커뮤니티 게시판 기능 고안하기1.3 스프링 부트로 커뮤니티 게시판 설계하기1.4 스프링 부트 스타터 들여다보기1.4.1 스타터의 명명규칙 알아보기1.4.2 스타터 내부의 의존성 확인 방법1.4.3 스타터에 명시된 버전은 어떻게 확인할까?1.4.4 스프링 부트 버전에 따라 무엇이 다른지 어떻게 알 수 있을까?1.4.5 이 책에서 다룰 스타터1.4.6 스프링 부트 장단점1.5 마치며CHAPTER 2 스프링 부트 환경 설정2.1 JDK 설치하기2.2 인텔리제이 IDEA 사용하기2.2.1 커뮤니티 버전과 얼티미트 버전2.2.2 커뮤니티 버전에서 스프링 부트 사용하기2.2.3 얼티미트 버전에서 스프링 부트 사용하기2.3 그레이들 설치 및 빌드하기2.3.1 그레이들 래퍼2.3.2 그레이들 멀티 프로젝트 구성하기2.4 환경 프로퍼티 파일 설정하기2.4.1 프로파일에 따른 환경 구성 분리2.4.2 YAML 파일 매핑하기2.5 자동 환경 설정 이해하기2.5.1 자동 환경 설정 어노테이션2.5.2 @EnableAutoConfiguration 살펴보기2.5.3 자동 설정 어노테이션 살펴보기2.5.4 H2 Console 자동 설정 적용하기2.6 마치며CHAPTER 3 스프링 부트 테스트3.1 @SpringBootTest3.2 @WebMvcTest3.3 @DataJpaTest3.4 @RestClientTest3.5 @JsonTest3.6 마치며CHAPTER 4 스프링 부트 웹4.1 커뮤니티 게시판 설계하기4.2 커뮤니티 게시판 프로젝트 준비하기4.3 커뮤니티 게시판 구현하기4.3.1 프로젝트 의존성 구성4.3.2 스프링 부트 웹 스타터 살펴보기4.3.3 도메인 매핑하기4.3.4 도메인 테스트하기4.3.5 CommandLineRunner를 사용하여 DB에 데이터 넣기4.3.6 게시글 리스트 기능 만들기4.3.7 타임리프 자바 8 날짜 포맷 라이브러리 추가하기4.3.8 페이징 처리하기4.3.9 작성 폼 만들기4.4 마치며CHAPTER 5 스프링 부트 시큐리티 OAuth25.1 배경지식 소개5.1.1 스프링 부트 시큐리티5.1.2 OAuth25.2 스프링 부트 시큐리티 OAuth2 설계하기5.3 스프링 부트 시큐리티 OAuth2 의존성 설정하기5.4 스프링 부트 시큐리티 OAuth2 구현하기5.4.1 SNS 프로퍼티 설정 및 바인딩5.4.2 시큐리티 OAuth2 설정하기5.4.3 어노테이션 기반으로 User 정보 불러오기5.4.4 인증 동작 확인하기5.4.5 페이지 권한 분리하기5.5 스프링 부트 2.0 기반의 OAuth2 설정하기5.5.1 스프링 부트 2.0 버전으로 의존성 업그레이드5.5.2 스프링 부트 2.0 방식의 OAuth2 인증 재설정5.6 마치며CHAPTER 6 스프링 부트 데이터 레스트6.1 배경지식6.1.1 REST 소개6.1.2 RESTful 제약 조건6.1.3 REST API 설계하기6.2 설계하기6.2.1 MVC 패턴을 활용하는 방법6.2.2 스프링 부트 데이터 레스트를 활용하는 방법6.3 스프링 부트 MVC 패턴으로 REST API 구현하기6.3.1 준비하기6.3.2 REST API 구현하기6.3.3 CORS 허용 및 시큐리티 설정6.3.4 생성, 수정, 삭제 구현6.3.5 동작 확인6.4 스프링 부트 데이터 레스트로 REST API 구현하기6.4.1 준비하기6.4.2 기본 노출 전략 살펴보기6.4.3 스프링 부트 데이터 레스트로 REST API 구현하기6.4.4 @RepositoryRestController를 사용하여 REST API 구현하기6.4.5 생성, 수정, 삭제 연동 테스트6.4.6 프로젝션으로 노출 필드 제한하기6.4.7 각 메서드 권한 제한6.4.8 이벤트 바인딩6.4.9 URI 처리6.4.10 HAL 브라우저 적용하기6.5 마무리CHAPTER 7 스프링 부트 배치7.1 배경지식7.1.1 배치 처리에 스프링 부트 배치를 써야 하는 이유7.1.2 스프링 부트 배치 2.07.1.3 스프링 부트 배치 주의사항7.2 스프링 부트 배치 이해하기7.2.1 Job7.2.2 Step7.2.3 JobRepository7.2.4 JobLauncher7.2.5 ItemReader7.2.6 ItemProcessor7.2.7 ItemWriter7.3 스프링 부트 휴면회원 배치 설계하기7.4 스프링 부트 배치 설정하기7.5 스프링 부트 휴면회원 배치 구현하기7.5.1 휴면회원 배치 테스트 코드 생성7.5.2 휴면회원 배치 정보 설정7.5.3 SQL로 테스트 데이터 주입하기7.6 스프링 배치 심화학습7.6.1 다양한 ItemReader 구현 클래스7.6.2 다양한 ItemWriter 구현 클래스7.6.3 JobParameter 사용하기7.6.4 테스트 시에만 H2 데이터베이스를 사용하도록 설정하기7.6.5 청크 지향 프로세싱7.6.6 배치의 인터셉터 Listener 설정하기7.6.7 어노테이션 기반으로 Listener 설정하기7.6.8 Step의 흐름을 제어하는 Flow7.7 멀티 스레드로 여러 개의 Step 실행하기7.7.1 TaskExecutor를 사용해 여러 Step 동작시키기7.7.2 여러 개의 Flow 실행시키기7.7.3 파티셔닝을 사용한 병렬 프로그래밍7.8 마무리부록 A 코드 다이어트를 위한 롬복 프로젝트 부록 B 자동으로 LiveReload하는 devtools 부록 C 스프링 부트 빌드와 배포 부록 D 커스텀 배너 설정하기 부록 E 페이스북, 구글, 카카오 개발자센터 연동