책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9791187345534
· 쪽수 : 356쪽
· 출판일 : 2016-07-31
책 소개
목차
1. 스프링 시작하기 16
1.1 스프링의 새로운 시작 16
1.1.1 스프링의 새로운 모습 살펴보기 17
1.1.2 스프링 부트의 핵심 살펴보기 18
1.1.3 스프링 부트에 관한 오해 20
1.2 스프링 부트 시작하기 21
1.2.1 스프링 부트 CLI 설치하기 21
1.2.2 Spring Initializr로 스프링 부트 프로젝트 구성하기 26
1.3 요약 35
2. 첫 번째 스프링 부트 애플리케이션 개발하기 36
2.1 스프링 부트 사용하기 36
2.1.1 갓 초기화한 스프링 부트 프로젝트 살펴보기 38
2.1.2 스프링 부트 프로젝트 빌드 파헤치기 41
2.2 스타터 의존성 사용하기 45
2.2.1 패싯 기반 의존성 지정하기 46
2.2.2 스타터의 전이적 의존성 오버라이드하기 47
2.3 자동 구성 사용하기 49
2.3.1 애플리케이션 기능에 집중하기 49
2.3.2 애플리케이션 실행하기 56
2.3.3 무슨 일이 일어났을까? 57
2.4 요약 61
3. 구성을 사용자화하기 62
3.1 스프링 부트 자동 구성 오버라이드하기 62
3.1.1 애플리케이션 보안 62
3.1.2 사용자 정의 보안 구성 63
3.1.3 자동 구성에 숨겨진 기능 엿보기 73
3.2 프로퍼티를 이용해 외부적으로 구성하기 75
3.2.1 자동 구성 미세 조정 76
3.2.2 외부에서 애플리케이션 빈 구성하기 82
3.2.3 프로파일 구성 88
3.3 애플리케이션 오류 페이지 사용자 정의하기 90
3.4 요약 94
4. 스프링 부트 테스트하기 95
4.1 통합 테스트를 위한 자동 구성 95
4.2 웹 애플리케이션 테스트하기 97
4.2.1 스프링 MVC 모킹하기 97
4.2.2 웹 보안 테스트하기 101
4.3 실행 중인 애플리케이션 테스트하기 105
4.3.1 임의의 포트로 서버 실행하기 106
4.3.2 셀레늄으로 HTML 페이지 테스트하기 108
4.4 요약 111
5. 스프링 부트 CLI로 그루비 시작하기 112
5.1 스프링 부트 CLI 애플리케이션 개발하기 112
5.1.1 CLI 프로젝트 준비하기 112
5.1.2 그루비로 불필요한 코드 제거하기 113
5.1.3 무슨 일이 일어났을까? 118
5.2 @Grab으로 의존성 관리하기 118
5.2.1 기본 의존성 버전 오버라이드하기 120
5.2.2 의존성 리포지토리 추가하기 120
5.3 CLI로 테스트하기 121
5.4 배포 가능한 아티팩트 생성하기 124
5.5 요약 124
6. 스프링 부트에 그레일즈 적용하기 126
6.1 데이터 영속화에 GORM 사용하기 126
6.2 그루비 서버 페이지를 이용해 뷰 만들기 134
6.3 그레일즈 3와 스프링 부트 함께 사용하기 139
6.3.1 새 그레일즈 프로젝트 생성하기 140
6.3.2 도메인 정의하기 143
6.3.3 그레일즈 컨트롤러 작성하기 144
6.3.4 뷰 생성하기 145
6.4 요약 148
7. 액추에이터를 이용해 내부 들여다보기 149
7.1 액추에이터의 엔드포인트 살펴보기 149
7.1.1 세부 구성 보기 150
7.1.2 실행 중인 애플리케이션의 메트릭 살펴보기 158
7.1.3 애플리케이션 종료하기 165
7.1.4 애플리케이션 정보 가져오기 166
7.2 액추에이터 원격 셸에 접속하기 167
7.2.1 자동 구성 보고서 살펴보기 168
7.2.2 애플리케이션 빈 목록 보기 170
7.2.3 애플리케이션 메트릭 지켜보기 172
7.2.4 액추에이터 엔드포인트 호출하기 173
7.3 JMX로 애플리케이션 모니터링하기 174
7.4 액추에이터를 사용자화하기 176
7.4.1 엔드포인트 ID 변경하기 176
7.4.2 엔드포인트 활성화 및 비활성화 176
7.4.3 사용자 정의 메트릭과 게이지 추가하기 177
7.4.4 사용자 정의 트레이스 리포지토리 생성하기 182
7.4.5 사용자 정의 헬스 인디케이터 추가하기 185
7.5 액추에이터 엔드포인트 보안 186
7.6 요약 190
8. 스프링 부트 애플리케이션 배포하기 191
8.1 배포 옵션 결정하기 191
8.2 애플리케이션 서버에 배포하기 192
8.2.1 WAR 파일 생성하기 192
8.2.2 출시용 프로파일 생성하기 194
8.2.3 데이터베이스 마이그레이션 활성화하기 197
8.3 클라우드에 배포하기 204
8.3.1 클라우드 파운드리에 배포하기 205
8.3.2 헤로쿠에 배포하기 208
8.4 요약 211
부록 A. 스프링 부트 개발자 도구 213
부록 B. 스프링 부트 스타터 219
부록 C. 구성 프로퍼티 225
부록 D. 스프링 부트 의존성 255
리뷰
책속에서
스프링의 새 버전이 등장할 때마다 이보다 더 나아질 수는 없다고 생각했지만, 매번 스프링 부트는 스프링에는 여전히 놀라운 것이 가득하다고 입증한다. 필자는 자바 개발의 긴 시간 동안 일어난 일 중 가장 중요하고 흥미진진한 사건이 스프링 부트의 출현이라고 생각한다.
책에서는 스프링 부트가 스프링이 이룬 성과보다 더 나은 진보를 어떤 식으로 이루었는지 알아본다. 자동 구성, 스프링 부트 스타터, 스프링 부트 CLI, 액추에이터를 살펴볼 것이다. 또 스프링 부트를 기반으로 한 그레일즈의 최신 버전도 가볍게 다룬다. 이 모든 것이 끝날 때쯤이면 스프링이 지금보다 더 나아질 수는 없다고 생각할 것이다.
- 저자 서문 중에서
스프링 부트는 스프링 프레임워크를 사용할 많은 구성을 관례에 따라 자동 구성하고, 좀 더 많은 사람이 스프링에 쉽게 접근할 수 있도록 했다.
하지만 모든 것이 자동으로 된다고 해서 마냥 편리하고 좋은 것만은 아니다. 전통적인 스프링은 XML, Java를 이용하여 원하는 구성을 개발자가 직접 작업했기에 의도한 대로, 구성한 대로 작동했다. 하지만 스프링 부트는 관례에 따라 자동 구성을 진행하기 때문에 처음에는 편리하게 느껴지지만, 스프링 부트를 이해하지 못하면 기존 스프링보다 더 어렵게 느껴질 수 있다. 결국 스프링 부트를 잘 사용하려면 스프링 부트에서 무슨 일이 일어나는지 이해하여 이를 더 세밀하게 조정하거나 오버라이드할 수 있는 방법들을 숙지해야 한다.
앞서 이야기했듯이 책에서는 스프링 부트의 자동 구성 원리, 자동 구성을 프로퍼티로 세밀하게 조정하는 방법, 자동 구성을 사용하지 않고 개발자가 자동 구성을 오버라이드하는 방법을 소개한다. 아울러 각 장에서 다루는 예제로 스프링 부트 프로젝트를 생성하고, 스프링 시큐리티, 스프링 데이터 JPA, 스프링 부트 액추에이터를 사용하는 독서 목록 애플리케이션(읽으려는 책 목록을 관리하고, 해당 책을 아마존에서 검색하도록 연동하는 애플리케이션)을 함께 만들 수 있다. 또 5장과 6장에서는 JVM에서 작동하는 동적 타이핑 언어인 그루비를 스프링 부트 CLI에서 사용하는 방법과 스프링 부트 프로젝트를 최신 그레일즈 버전으로 어떻게 변환하는지 설명한다.
오랫동안 스프링을 사용해 왔고 많은 스프링 관련 책을 읽었지만, 이 책만큼 훌륭한 입문서는 보지 못했다 스프링 부트에 아직 다가가지 못한 스프링 개발자에게 스프링 부트의 A-Z를 알려 주는 훌륭한 입문서이자 스프링 부트를 이미 사용 중인 개발자에게는 더 깊이 있는 내용들을 참고할 수 있는 지침서가 될 것이다.
- 역자 서문 중에서