스프링 인 액션 : 북윈도
리뷰 0 위시 120

스프링 인 액션 요약정보 및 구매

스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발

상품 선택옵션 0 개, 추가옵션 0 개

출판사 제이펍
저자 크레이그 월즈
ISBN 9791190665186 (1190665182)
정가 35,000원
판매가 31,500원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 기본설명
스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발
상품 상세설명
리액티브 프로그래밍 지원을 강화한 스프링 5의 모든 것을 탐구한다!

이 책에서는 스프링 5와 스프링 부트 2를 사용해서 애플리케이션을 개발하는 데 필요한 여러 핵심 기능을 알려줍니다. 스프링 5에서는 특히 새로운 리액티브 웹 프레임워크인 WebFlux를 중점적으로 다룹니다. 개발자들은 더 쉽고 확장성이 좋은 웹 애플리케이션을 개발할 수 있습니다. 《스프링 인 액션(제5판)》에서는 스프링 최신 버전의 모든 것을 다루고 있으므로 개발자들이 스프링의 새로운 진면목을 파악하는 데 도움이 될 것입니다.





목차
1.
PART 1 스프링 기초 1
CHAPTER 1 스프링 시작하기 3
1.1 스프링이란? 4
1.2 스프링 애플리케이션 초기 설정하기 7
1.2.1 STS를 사용해서 스프링 프로젝트 초기 설정하기 8
1.2.2 스프링 프로젝트 구조 살펴보기 12
1.3 스프링 애플리케이션 작성하기 18
1.3.1 웹 요청 처리하기 19
1.3.2 뷰 정의하기 20
1.3.3 컨트롤러 테스트하기 22
1.3.4 애플리케이션 빌드하고 실행하기 24
1.3.5 스프링 부트 DevTools 알아보기 26
1.3.6 리뷰하기 28
1.4 스프링 살펴보기 30
1.4.1 핵심 스프링 프레임워크 30
1.4.2 스프링 부트 31
1.4.3 스프링 데이터 31
1.4.4 스프링 시큐리티 32
1.4.5 스프링 통합과 배치 32
1.4.6 스프링 클라우드 32
요약 33

CHAPTER 2 웹 애플리케이션 개발하기 34
2.1 정보 보여주기 35
2.1.1 도메인 설정하기 36
2.1.2 컨트롤러 클래스 생성하기 41
2.1.3 뷰 디자인하기 45
2.2 폼 제출 처리하기 51
2.3 폼 입력 유효성 검사하기 57
2.3.1 유효성 검사 규칙 선언하기 58
2.3.2 폼과 바인딩될 때 유효성 검사 수행하기 60
2.3.3 유효성 검사 에러 보여주기 62
2.4 뷰 컨트롤러로 작업하기 65
2.5 뷰 템플릿 라이브러리 선택하기 68
2.5.1 템플릿 캐싱 70
요약 71

CHAPTER 3 데이터로 작업하기 72
3.1 JDBC를 사용해서 데이터 읽고 쓰기 73
3.1.1 퍼시스턴스를 고려한 도메인 객체 수정하기 75
3.1.2 JdbcTemplate 사용하기 76
3.1.3 스키마 정의하고 데이터 추가하기 84
3.1.4 타코와 주문 데이터 추가하기 87
3.2 스프링 데이터 JPA를 사용해서 데이터 저장하고 사용하기 103
3.2.1 스프링 데이터 JPA를 프로젝트에 추가하기 103
3.2.2 도메인 객체에 애노테이션 추가하기 104
3.2.3 JPA 리퍼지터리 선언하기 108
3.2.4 JPA 리퍼지터리 커스터마이징하기 112
요약 115

CHAPTER 4 스프링 시큐리티 116
4.1 스프링 시큐리티 활성화하기 117
4.2 스프링 시큐리티 구성하기 120
4.2.1 인메모리 사용자 스토어 123
4.2.2 JDBC 기반의 사용자 스토어 125
4.2.3 LDAP 기반 사용자 스토어 132
4.2.4 사용자 인증의 커스터마이징 138
4.3 웹 요청 보안 처리하기 148
4.3.1 웹 요청 보안 처리하기 148
4.3.2 커스텀 로그인 페이지 생성하기 152
4.3.3 로그아웃하기 155
4.3.4 CSRF 공격 방어하기 155
4.4 사용자 인지하기 158
4.5 각 폼에 로그아웃 버튼 추가하고 사용자 정보 보여주기 164
요약 166

CHAPTER 5 구성 속성 사용하기 167
5.1 자동-구성 세부 조정하기 168
5.1.1 스프링 환경 추상화 이해하기 169
5.1.2 데이터 소스 구성하기 171
5.1.3 내장 서버 구성하기 172
5.1.4 로깅 구성하기 174
5.1.5 다른 속성의 값 가져오기 176
5.2 우리의 구성 속성 생성하기 176
5.2.1 구성 속성 홀더 정의하기 180
5.2.2 구성 속성 메타데이터 선언하기 182
5.3 프로파일 사용해서 구성하기 185
5.3.1 프로파일 특정 속성 정의하기 186
5.3.2 프로파일 활성화하기 188
5.3.3 프로파일을 사용해서 조건별로 빈 생성하기 189
요약 191

PART 2 통합된 스프링 193
CHAPTER 6 REST 서비스 생성하기 195
6.1 REST 컨트롤러 작성하기 196
6.1.1 서버에서 데이터 가져오기 198
6.1.2 서버에 데이터 전송하기 204
6.1.3 서버의 데이터 변경하기 205
6.1.4 서버에서 데이터 삭제하기 208
6.2 하이퍼미디어 사용하기 209
6.2.1 하이퍼링크 추가하기 212
6.2.2 리소스 어셈블러 생성하기 215
6.2.3 embedded 관계 이름 짓기 220
6.3 데이터 기반 서비스 활성화하기 221
6.3.1 리소스 경로와 관계 이름 조정하기 224
6.3.2 페이징과 정렬 226
6.3.3 커스텀 엔드포인트 추가하기 228
6.3.4 커스텀 하이퍼링크를 스프링 데이터 엔드포인트에 추가하기 230
6.4 앵귤러 IDE 이클립스 플러그인 설치와 프로젝트 빌드 및 실행하기 231
6.4.1 앵귤러 IDE 이클립스 플러그인 설치하기 232
6.4.2 타코 클라우드 애플리케이션 빌드하고 실행하기 237
요약 244

CHAPTER 7 REST 서비스 사용하기 245
7.1 RestTemplate으로 REST 엔드포인트 사용하기 246
7.1.1 리소스 가져오기(GET) 248
7.1.2 리소스 쓰기(PUT) 250
7.1.3 리소스 삭제하기(DELETE) 250
7.1.4 리소스 데이터 추가하기(POST) 251
7.2 Traverson으로 REST API 사용하기 252
7.3 REST API 클라이언트가 추가된 타코 클라우드 애플리케이션 빌드 및 실행하기 255
요약 258

CHAPTER 8 비동기 메시지 전송하기 259
8.1 JMS로 메시지 전송하기 260
8.1.1 JMS 설정하기 260
8.1.2 JmsTemplate을 사용해서 메시지 전송하기 263
8.1.3 JMS 메시지 수신하기 271
8.2 RabbitMQ와 AMQP 사용하기 276
8.2.1 RabbitMQ를 스프링에 추가하기 277
8.2.2 RabbitTemplate을 사용해서 메시지 전송하기 278
8.2.3 RabbitMQ로부터 메시지 수신하기 283
8.3 카프카 사용하기 288
8.3.1 카프카 사용을 위해 스프링 설정하기 289
8.3.2 KafkaTemplate을 사용해서 메시지 전송하기 290
8.3.3 카프카 리스너 작성하기 292
8.4 비동기 메시지 전송과 수신 기능이 추가된 타코 클라우드 애플리케이션 빌드 및 실행하기 294
요약 299

CHAPTER 9 스프링 통합하기 300
9.1 간단한 통합 플로우 선언하기 301
9.1.1 XML을 사용해서 통합 플로우 정의하기 303
9.1.2 Java로 통합 플로우 구성하기 305
9.1.3 스프링 통합의 DSL 구성 사용하기 307
9.2 스프링 통합의 컴포넌트 살펴보기 308
9.2.1 메시지 채널 310
9.2.2 필터 312
9.2.3 변환기 313
9.2.4 라우터 314
9.2.5 분배기 316
9.2.6 서비스 액티베이터 319
9.2.7 게이트웨이 321
9.2.8 채널 어댑터 322
9.2.9 엔드포인트 모듈 324
9.3 이메일 통합 플로우 생성하기 326
9.4 타코 클라우드 애플리케이션 빌드 및 실행하기 332
요약 336

PART 3 리액티브 스프링 337
CHAPTER 10 리액터 개요 339
10.1 리액티브 프로그래밍 이해하기 340
10.1.1 리액티브 스트림 정의하기 342
10.2 리액터 시작하기 344
10.2.1 리액티브 플로우의 다이어그램 345
10.2.2 리액터 의존성 추가하기 346
10.3 리액티브 오퍼레이션 적용하기 347
10.3.1 리액티브 타입 생성하기 348
10.3.2 리액티브 타입 조합하기 353
10.3.3 리액티브 스트림의 변환과 필터링 357
10.3.4 리액티브 타입에 로직 오퍼레이션 수행하기 368
10.4 리액티브 오퍼레이션 테스트 프로젝트 빌드 및 실행하기 370
요약 372

CHAPTER 11 리액티브 API 개발하기 373
11.1 스프링 WebFlux 사용하기 373
11.1.1 스프링 WebFlux 개요 375
11.1.2 리액티브 컨트롤러 작성하기 377
11.2 함수형 요청 핸들러 정의하기 382
11.3 리액티브 컨트롤러 테스트하기 386
11.3.1 GET 요청 테스트하기 386
11.3.2 POST 요청 테스트하기 389
11.3.3 실행 중인 서버로 테스트하기 391
11.4 REST API를 리액티브하게 사용하기 392
11.4.1 리소스 얻기(GET) 393
11.4.2 리소스 전송하기 396
11.4.3 리소스 삭제하기 397
11.4.4 에러 처리하기 397
11.4.5 요청 교환하기 399
11.5 리액티브 웹 API 보안 401
11.5.1 리액티브 웹 보안 구성하기 402
11.5.2 리액티브 사용자 명세 서비스 구성하기 404
요약 406

CHAPTER 12 리액티브 데이터 퍼시스턴스 407
12.1 스프링 데이터의 리액티브 개념 이해하기 408
12.1.1 스프링 데이터 리액티브 개요 409
12.1.2 리액티브와 리액티브가 아닌 타입 간의 변환 409
12.1.3 리액티브 리퍼지터리 개발하기 412
12.2 리액티브 카산드라 리퍼지터리 사용하기 412
12.2.1 스프링 데이터 카산드라 활성화하기 413
12.2.2 카산드라 데이터 모델링 이해하기 416
12.2.3 카산드라 퍼시스턴스의 도메인 타입 매핑 416
12.2.4 리액티브 카산드라 리퍼지터리 작성하기 423
12.3 리액티브 몽고DB 리퍼지터리 작성하기 426
12.3.1 스프링 데이터 몽고DB 활성화하기 427
12.3.2 도메인 타입을 문서로 매핑하기 429
12.3.3 리액티브 몽고DB 리퍼지터리 인터페이스 작성하기 432
요약 436

PART 4 클라우드 네이티브 스프링 437
CHAPTER 13 서비스 탐구하기 439
13.1 마이크로서비스 이해하기 440
13.2 서비스 레지스트리 설정하기 442
13.2.1 유레카 구성하기 447
13.2.2 유레카 확장하기 450
13.3 서비스 등록하고 찾기 452
13.3.1 유레카 클라이언트 속성 구성하기 453
13.3.2 서비스 사용하기 455
13.4 마이크로 서비스 관련 프로젝트의 빌드 및 실행하기 461
요약 467

CHAPTER 14 클라우드 구성 관리 468
14.1 구성 공유하기 469
14.2 구성 서버 실행하기 470
14.2.1 구성 서버 활성화하기 471
14.2.2 Git 리퍼지터리에 구성 속성 저장하기 476
14.3 공유되는 구성 데이터 사용하기 480
14.4 애플리케이션이나 프로파일에 특정된 속성 제공하기 482
14.4.1 애플리케이션에 특정된 속성 제공하기 482
14.4.2 프로파일로부터 속성 제공하기 484
14.5 구성 속성들의 보안 유지하기 486
14.5.1 Git 백엔드의 속성들 암호화하기 486
14.5.2 Vault에 보안 속성 저장하기 490
14.6 실시간으로 구성 속성 리프레시하기 495
14.6.1 구성 속성을 수동으로 리프레시하기 496
14.6.2 구성 속성을 자동으로 리프레시하기 499
14.7 구성 서버와 구성 클라이언트 프로젝트의 빌드 및 실행하기 507
요약 511

CHAPTER 15 실패와 지연 처리하기 512
15.1 서킷 브레이커 이해하기 512
15.2 서킷 브레이커 선언하기 515
15.2.1 지연 시간 줄이기 518
15.2.2 서킷 브레이커 한계값 관리하기 519
15.3 실패 모니터링하기 521
15.3.1 Hystrix 대시보드 개요 522
15.3.2 Hystrix 스레드 풀 이해하기 525
15.4 다수의 Hystrix 스트림 종합하기 527
15.5 Hystrix와 Turbine을 사용한 식자재 클라이언트 서비스 빌드 및 실행하기 530
요약 536

PART 5 스프링 배포 537
CHAPTER 16 스프링 부트 액추에이터 사용하기 539
16.1 액추에이터 개요 540
16.1.1 액추에이터의 기본 경로 구성하기 541
16.1.2 액추에이터 엔드포인트의 활성화와 비활성화 542
16.2 액추에이터 엔드포인트 소비하기 543
16.2.1 애플리케이션 기본 정보 가져오기 544
16.2.2 구성 상세 정보 보기 548
16.2.3 애플리케이션 활동 지켜보기 557
16.2.4 런타임 메트릭 활용하기 560
16.3 액추에이터 커스터마이징 563
16.3.1 /info 엔드포인트에 정보 제공하기 563
16.3.2 커스텀 건강 지표 정의하기 569
16.3.3 커스텀 메트릭 등록하기 570
16.3.4 커스텀 엔드포인트 생성하기 572
16.4 액추에이터 보안 처리하기 576
16.5 액추에이터 엔드포인트와 보안을 사용한 타코 서비스 빌드 및 실행하기 578
요약 583

CHAPTER 17 스프링 관리하기 584
17.1 스프링 부트 Admin 사용하기 585
17.1.1 Admin 서버 생성하기 585
17.1.2 Admin 클라이언트 등록하기 587
17.2 Admin 서버 살펴보기 591
17.2.1 애플리케이션의 건강 상태 정보와 일반 정보 보기 592
17.2.2 핵심 메트릭 살펴보기 593
17.2.3 환경 속성 살펴보기 594
17.2.4 로깅 레벨을 보거나 설정하기 594
17.2.5 스레드 모니터링 595
17.2.6 HTTP 요청 추적하기 596
17.3 Admin 서버의 보안 597
17.3.1 Admin 서버에 로그인 활성화하기 598
17.3.2 액추에이터로 인증하기 598
17.4 Admin 서버 서비스 빌드 및 실행하기 600
요약 606

CHAPTER 18 JMX로 스프링 모니터링하기 607
18.1 액추에이터 MBeans 사용하기 607
18.2 우리의 MBeans 생성하기 610
18.3 알림 전송하기 612
18.4 TacoCounter MBeans 빌드 및 사용하기 613
요약 619

CHAPTER 19 스프링 배포하기 620
19.1 배포 옵션 621
19.2 WAR 파일 빌드하고 배포하기 622
19.3 클라우드 파운드리에 JAR 파일 푸시하기 625
19.4 도커 컨테이너에서 스프링 부트 실행하기 628
요약 633

APPENDIX A 스프링 부트 프로젝트 생성하기 634
A.1 STS를 사용해서 프로젝트 생성하기 634
A.2 IntelliJ IDEA 설치 및 프로젝트 생성하기 638
A.2.1 윈도우 시스템에서 IntelliJ IDEA 설치하기
A.2.2 맥OS에서 IntelliJ IDEA 설치하기
A.2.3 리눅스에서 IntelliJ IDEA 설치하기
A.2.4 IntelliJ IDEA 프로젝트 생성하기
A.3 NetBeans 설치 및 프로젝트 생성하기 645
A.4 start.spring.io에 직접 접속하여 프로젝트 생성하기 651
A.5 명령행에서 프로젝트 생성하기 654
A.5.1 curl과 Initializr API
A.5.2 스프링 부트 명령행 인터페이스 사용하기
A.6 메타-프레임워크를 사용해서 스프링 애플리케이션 생성하기 658
A.7 프로젝트 빌드하고 실행하기 659
A.8 curl 설치하기 660

찾아보기 664
책속으로
1.
스프링은 스프링 애플리케이션 컨텍스트(Spring application context)라는 컨테이너(container)를 제공하는데, 이것은 애플리케이션 컴포넌트들을 생성하고 관리한다. 그리고 애플리케이션 컴포넌트 또는 빈bean들은 스프링 애플리케이션 컨텍스트 내부에서 서로 연결되어 완전한 애플리케이션을 만든다. 벽돌, 모르타르, 목재, 못, 배관, 배선이 함께 어우러져 집을 구성하는 것과 비슷하다.
_12페이지스프링 애플리케이션의 보안에서 맨 먼저 할 일은 스프링 부트 보안 스타터 의존성을 빌드 명세에 추가하는 것이다. 3장까지 작성이 끝난 taco-clould 프로젝트의 pom.xml 파일을 편집기 창에서 열고 다음의 〈dependency〉 항목을 추가하자. 여기서 추가하는 첫 번째 〈dependency〉 항목은 스프링 부트 보안 스타터 의존성이고, 두 번째는 보안 테스트 의존성이다(이번 장에서는 3장의 스프링 데이터 JPA까지 작성된 taco-cloud 프로젝트를 계속 사용할 것이다. 이 프로젝트는 다운로드한 코드의 Ch03-JPA 서브 디렉터리에 있다. 또한, 이번 장이 끝났을 때 완성된 taco-cloud 프로젝트는 Ch04에 있다).
_117페이지STS IDE에 앵귤러 IDE(앵귤러 CLI가 포함됨)의 이클립스 플러그인을 설치하면 스프링 부트와 앵귤러를 함께 사용하는 애플리케이션을 STS에서 개발하고 빌드하여 실행할 수 있다. STS IDE가 아닌 명령행에서 앵귤러를 사용할 때는 Node.js와 앵귤러 CLI를 설치해야 하고 사용도 불편하다. 여기서는 우선 STS IDE에 앵귤러 IDE의 이클립스 플러그인을 설치하고 사용하는 방법을 알아본다. 그다음에 이번 장에서 설명했던 타코 클라우드 애플리케이션을 빌드하고 실행해 본다.
_231페이지리액티브 프로그래밍은 명령형 프로그래밍의 대안이 되는 패러다임이다. 명령형 프로그래밍의 한계를 해결할 수 있기 때문이다. 이런 한계를 이해하면 리액티브 모델의 장점을 더 확실하게 이해할 수 있다. 여러분이 필자와 같은 개발자라면 명령형 프로그래밍을 먼저 경험했을 것이다. 실제로 현재 우리가 작성하는 대부분(또는 모든)의 코드는 여전히 명령형일 가능성이 높다. 명령형 프로그래밍은 학생들이 학교에서 프로그래밍을 배우기 쉬우며, 기업에 필요한 대부분의 코드를 구성할 만큼 강력하다.
_340페이지타코 클라우드에서 스프링 부트 Admin 서버를 사용하려면 타코 클라우드를 구성하는 각 애플리케이션(마이크로서비스)을 스프링 부트 Admin 클라이언트로 등록해야 한다. 그러나 우선 스프링 부트 Admin 서버를 생성하고 이 서버가 각 클라이언트의 액추에이터 정보를 받도록 설정해야 한다.
_585페이지
출판사 서평
한층 더 진화한 스프링 5로 웹 애플리케이션 개발에 날개를 달다!
스프링 WebFlux 등 리액티브 프로그래밍 지원을 강화한 스프링 5의 모든 것을 탐구한다!스프링 프레임워크는 자바 개발자들을 더 편하게 해줍니다. 스프링 5의 새로운 기능들은 마이크로서비스와 리액티브 애플리케이션 개발과 같은 현대적 애플리케이션 설계 시에 생산성을 높여 줍니다. 이제는 스프링 부트가 완전히 통합되어 복잡한 프로젝트일지라도 최소한의 구성 코드로 시작할 수 있습니다. 또한, 한층 업그레이드된 WebFlux 프레임워크는 기본적으로 리액티브 애플리케이션을 지원합니다.《스프링 인 액션(제5판)》은 스프링의 핵심 기능을 명쾌하게 알려 줍니다. 이 책을 통해 여러분은 데이터베이스가 지원되는 웹 애플리케이션을 점진적으로 만들어 볼 것입니다. 그러면서 리액티브 프로그래밍, 마이크로서비스, 서비스 발견, Restful API, 애플리케이션 배포, 모범 사례를 배우게 될 것입니다. 또한, 원서의 오류를 모두 바로잡고 부족한 부분을 보강하는 데 심혈을 기울였습니다. 스프링 입문자와 스프링 5로 레벨업하려는 기존 스프링 사용자 모두에게 이 책은 안성맞춤입니다!이 책의 주요 내용
■ 리액티브 애플리케이션 개발하기
■ 웹 애플리케이션과 RESTful 웹 서비스를 위한 스프링 MVC 사용
■ 스프링 보안을 사용한 애플리케이션 보안 처리
■ 스프링 5의 핵심 파악
상품 정보 고시
도서명 스프링 인 액션
저자 크레이그 월즈
출판사 제이펍
ISBN 9791190665186 (1190665182)
쪽수 700
출간일 2020-05-14
사이즈 188 * 245 mm
목차 또는 책소개 1.
PART 1 스프링 기초 1
CHAPTER 1 스프링 시작하기 3
1.1 스프링이란? 4
1.2 스프링 애플리케이션 초기 설정하기 7
1.2.1 STS를 사용해서 스프링 프로젝트 초기 설정하기 8
1.2.2 스프링 프로젝트 구조 살펴보기 12
1.3 스프링 애플리케이션 작성하기 18
1.3.1 웹 요청 처리하기 19
1.3.2 뷰 정의하기 20
1.3.3 컨트롤러 테스트하기 22
1.3.4 애플리케이션 빌드하고 실행하기 24
1.3.5 스프링 부트 DevTools 알아보기 26
1.3.6 리뷰하기 28
1.4 스프링 살펴보기 30
1.4.1 핵심 스프링 프레임워크 30
1.4.2 스프링 부트 31
1.4.3 스프링 데이터 31
1.4.4 스프링 시큐리티 32
1.4.5 스프링 통합과 배치 32
1.4.6 스프링 클라우드 32
요약 33

CHAPTER 2 웹 애플리케이션 개발하기 34
2.1 정보 보여주기 35
2.1.1 도메인 설정하기 36
2.1.2 컨트롤러 클래스 생성하기 41
2.1.3 뷰 디자인하기 45
2.2 폼 제출 처리하기 51
2.3 폼 입력 유효성 검사하기 57
2.3.1 유효성 검사 규칙 선언하기 58
2.3.2 폼과 바인딩될 때 유효성 검사 수행하기 60
2.3.3 유효성 검사 에러 보여주기 62
2.4 뷰 컨트롤러로 작업하기 65
2.5 뷰 템플릿 라이브러리 선택하기 68
2.5.1 템플릿 캐싱 70
요약 71

CHAPTER 3 데이터로 작업하기 72
3.1 JDBC를 사용해서 데이터 읽고 쓰기 73
3.1.1 퍼시스턴스를 고려한 도메인 객체 수정하기 75
3.1.2 JdbcTemplate 사용하기 76
3.1.3 스키마 정의하고 데이터 추가하기 84
3.1.4 타코와 주문 데이터 추가하기 87
3.2 스프링 데이터 JPA를 사용해서 데이터 저장하고 사용하기 103
3.2.1 스프링 데이터 JPA를 프로젝트에 추가하기 103
3.2.2 도메인 객체에 애노테이션 추가하기 104
3.2.3 JPA 리퍼지터리 선언하기 108
3.2.4 JPA 리퍼지터리 커스터마이징하기 112
요약 115

CHAPTER 4 스프링 시큐리티 116
4.1 스프링 시큐리티 활성화하기 117
4.2 스프링 시큐리티 구성하기 120
4.2.1 인메모리 사용자 스토어 123
4.2.2 JDBC 기반의 사용자 스토어 125
4.2.3 LDAP 기반 사용자 스토어 132
4.2.4 사용자 인증의 커스터마이징 138
4.3 웹 요청 보안 처리하기 148
4.3.1 웹 요청 보안 처리하기 148
4.3.2 커스텀 로그인 페이지 생성하기 152
4.3.3 로그아웃하기 155
4.3.4 CSRF 공격 방어하기 155
4.4 사용자 인지하기 158
4.5 각 폼에 로그아웃 버튼 추가하고 사용자 정보 보여주기 164
요약 166

CHAPTER 5 구성 속성 사용하기 167
5.1 자동-구성 세부 조정하기 168
5.1.1 스프링 환경 추상화 이해하기 169
5.1.2 데이터 소스 구성하기 171
5.1.3 내장 서버 구성하기 172
5.1.4 로깅 구성하기 174
5.1.5 다른 속성의 값 가져오기 176
5.2 우리의 구성 속성 생성하기 176
5.2.1 구성 속성 홀더 정의하기 180
5.2.2 구성 속성 메타데이터 선언하기 182
5.3 프로파일 사용해서 구성하기 185
5.3.1 프로파일 특정 속성 정의하기 186
5.3.2 프로파일 활성화하기 188
5.3.3 프로파일을 사용해서 조건별로 빈 생성하기 189
요약 191

PART 2 통합된 스프링 193
CHAPTER 6 REST 서비스 생성하기 195
6.1 REST 컨트롤러 작성하기 196
6.1.1 서버에서 데이터 가져오기 198
6.1.2 서버에 데이터 전송하기 204
6.1.3 서버의 데이터 변경하기 205
6.1.4 서버에서 데이터 삭제하기 208
6.2 하이퍼미디어 사용하기 209
6.2.1 하이퍼링크 추가하기 212
6.2.2 리소스 어셈블러 생성하기 215
6.2.3 embedded 관계 이름 짓기 220
6.3 데이터 기반 서비스 활성화하기 221
6.3.1 리소스 경로와 관계 이름 조정하기 224
6.3.2 페이징과 정렬 226
6.3.3 커스텀 엔드포인트 추가하기 228
6.3.4 커스텀 하이퍼링크를 스프링 데이터 엔드포인트에 추가하기 230
6.4 앵귤러 IDE 이클립스 플러그인 설치와 프로젝트 빌드 및 실행하기 231
6.4.1 앵귤러 IDE 이클립스 플러그인 설치하기 232
6.4.2 타코 클라우드 애플리케이션 빌드하고 실행하기 237
요약 244

CHAPTER 7 REST 서비스 사용하기 245
7.1 RestTemplate으로 REST 엔드포인트 사용하기 246
7.1.1 리소스 가져오기(GET) 248
7.1.2 리소스 쓰기(PUT) 250
7.1.3 리소스 삭제하기(DELETE) 250
7.1.4 리소스 데이터 추가하기(POST) 251
7.2 Traverson으로 REST API 사용하기 252
7.3 REST API 클라이언트가 추가된 타코 클라우드 애플리케이션 빌드 및 실행하기 255
요약 258

CHAPTER 8 비동기 메시지 전송하기 259
8.1 JMS로 메시지 전송하기 260
8.1.1 JMS 설정하기 260
8.1.2 JmsTemplate을 사용해서 메시지 전송하기 263
8.1.3 JMS 메시지 수신하기 271
8.2 RabbitMQ와 AMQP 사용하기 276
8.2.1 RabbitMQ를 스프링에 추가하기 277
8.2.2 RabbitTemplate을 사용해서 메시지 전송하기 278
8.2.3 RabbitMQ로부터 메시지 수신하기 283
8.3 카프카 사용하기 288
8.3.1 카프카 사용을 위해 스프링 설정하기 289
8.3.2 KafkaTemplate을 사용해서 메시지 전송하기 290
8.3.3 카프카 리스너 작성하기 292
8.4 비동기 메시지 전송과 수신 기능이 추가된 타코 클라우드 애플리케이션 빌드 및 실행하기 294
요약 299

CHAPTER 9 스프링 통합하기 300
9.1 간단한 통합 플로우 선언하기 301
9.1.1 XML을 사용해서 통합 플로우 정의하기 303
9.1.2 Java로 통합 플로우 구성하기 305
9.1.3 스프링 통합의 DSL 구성 사용하기 307
9.2 스프링 통합의 컴포넌트 살펴보기 308
9.2.1 메시지 채널 310
9.2.2 필터 312
9.2.3 변환기 313
9.2.4 라우터 314
9.2.5 분배기 316
9.2.6 서비스 액티베이터 319
9.2.7 게이트웨이 321
9.2.8 채널 어댑터 322
9.2.9 엔드포인트 모듈 324
9.3 이메일 통합 플로우 생성하기 326
9.4 타코 클라우드 애플리케이션 빌드 및 실행하기 332
요약 336

PART 3 리액티브 스프링 337
CHAPTER 10 리액터 개요 339
10.1 리액티브 프로그래밍 이해하기 340
10.1.1 리액티브 스트림 정의하기 342
10.2 리액터 시작하기 344
10.2.1 리액티브 플로우의 다이어그램 345
10.2.2 리액터 의존성 추가하기 346
10.3 리액티브 오퍼레이션 적용하기 347
10.3.1 리액티브 타입 생성하기 348
10.3.2 리액티브 타입 조합하기 353
10.3.3 리액티브 스트림의 변환과 필터링 357
10.3.4 리액티브 타입에 로직 오퍼레이션 수행하기 368
10.4 리액티브 오퍼레이션 테스트 프로젝트 빌드 및 실행하기 370
요약 372

CHAPTER 11 리액티브 API 개발하기 373
11.1 스프링 WebFlux 사용하기 373
11.1.1 스프링 WebFlux 개요 375
11.1.2 리액티브 컨트롤러 작성하기 377
11.2 함수형 요청 핸들러 정의하기 382
11.3 리액티브 컨트롤러 테스트하기 386
11.3.1 GET 요청 테스트하기 386
11.3.2 POST 요청 테스트하기 389
11.3.3 실행 중인 서버로 테스트하기 391
11.4 REST API를 리액티브하게 사용하기 392
11.4.1 리소스 얻기(GET) 393
11.4.2 리소스 전송하기 396
11.4.3 리소스 삭제하기 397
11.4.4 에러 처리하기 397
11.4.5 요청 교환하기 399
11.5 리액티브 웹 API 보안 401
11.5.1 리액티브 웹 보안 구성하기 402
11.5.2 리액티브 사용자 명세 서비스 구성하기 404
요약 406

CHAPTER 12 리액티브 데이터 퍼시스턴스 407
12.1 스프링 데이터의 리액티브 개념 이해하기 408
12.1.1 스프링 데이터 리액티브 개요 409
12.1.2 리액티브와 리액티브가 아닌 타입 간의 변환 409
12.1.3 리액티브 리퍼지터리 개발하기 412
12.2 리액티브 카산드라 리퍼지터리 사용하기 412
12.2.1 스프링 데이터 카산드라 활성화하기 413
12.2.2 카산드라 데이터 모델링 이해하기 416
12.2.3 카산드라 퍼시스턴스의 도메인 타입 매핑 416
12.2.4 리액티브 카산드라 리퍼지터리 작성하기 423
12.3 리액티브 몽고DB 리퍼지터리 작성하기 426
12.3.1 스프링 데이터 몽고DB 활성화하기 427
12.3.2 도메인 타입을 문서로 매핑하기 429
12.3.3 리액티브 몽고DB 리퍼지터리 인터페이스 작성하기 432
요약 436

PART 4 클라우드 네이티브 스프링 437
CHAPTER 13 서비스 탐구하기 439
13.1 마이크로서비스 이해하기 440
13.2 서비스 레지스트리 설정하기 442
13.2.1 유레카 구성하기 447
13.2.2 유레카 확장하기 450
13.3 서비스 등록하고 찾기 452
13.3.1 유레카 클라이언트 속성 구성하기 453
13.3.2 서비스 사용하기 455
13.4 마이크로 서비스 관련 프로젝트의 빌드 및 실행하기 461
요약 467

CHAPTER 14 클라우드 구성 관리 468
14.1 구성 공유하기 469
14.2 구성 서버 실행하기 470
14.2.1 구성 서버 활성화하기 471
14.2.2 Git 리퍼지터리에 구성 속성 저장하기 476
14.3 공유되는 구성 데이터 사용하기 480
14.4 애플리케이션이나 프로파일에 특정된 속성 제공하기 482
14.4.1 애플리케이션에 특정된 속성 제공하기 482
14.4.2 프로파일로부터 속성 제공하기 484
14.5 구성 속성들의 보안 유지하기 486
14.5.1 Git 백엔드의 속성들 암호화하기 486
14.5.2 Vault에 보안 속성 저장하기 490
14.6 실시간으로 구성 속성 리프레시하기 495
14.6.1 구성 속성을 수동으로 리프레시하기 496
14.6.2 구성 속성을 자동으로 리프레시하기 499
14.7 구성 서버와 구성 클라이언트 프로젝트의 빌드 및 실행하기 507
요약 511

CHAPTER 15 실패와 지연 처리하기 512
15.1 서킷 브레이커 이해하기 512
15.2 서킷 브레이커 선언하기 515
15.2.1 지연 시간 줄이기 518
15.2.2 서킷 브레이커 한계값 관리하기 519
15.3 실패 모니터링하기 521
15.3.1 Hystrix 대시보드 개요 522
15.3.2 Hystrix 스레드 풀 이해하기 525
15.4 다수의 Hystrix 스트림 종합하기 527
15.5 Hystrix와 Turbine을 사용한 식자재 클라이언트 서비스 빌드 및 실행하기 530
요약 536

PART 5 스프링 배포 537
CHAPTER 16 스프링 부트 액추에이터 사용하기 539
16.1 액추에이터 개요 540
16.1.1 액추에이터의 기본 경로 구성하기 541
16.1.2 액추에이터 엔드포인트의 활성화와 비활성화 542
16.2 액추에이터 엔드포인트 소비하기 543
16.2.1 애플리케이션 기본 정보 가져오기 544
16.2.2 구성 상세 정보 보기 548
16.2.3 애플리케이션 활동 지켜보기 557
16.2.4 런타임 메트릭 활용하기 560
16.3 액추에이터 커스터마이징 563
16.3.1 /info 엔드포인트에 정보 제공하기 563
16.3.2 커스텀 건강 지표 정의하기 569
16.3.3 커스텀 메트릭 등록하기 570
16.3.4 커스텀 엔드포인트 생성하기 572
16.4 액추에이터 보안 처리하기 576
16.5 액추에이터 엔드포인트와 보안을 사용한 타코 서비스 빌드 및 실행하기 578
요약 583

CHAPTER 17 스프링 관리하기 584
17.1 스프링 부트 Admin 사용하기 585
17.1.1 Admin 서버 생성하기 585
17.1.2 Admin 클라이언트 등록하기 587
17.2 Admin 서버 살펴보기 591
17.2.1 애플리케이션의 건강 상태 정보와 일반 정보 보기 592
17.2.2 핵심 메트릭 살펴보기 593
17.2.3 환경 속성 살펴보기 594
17.2.4 로깅 레벨을 보거나 설정하기 594
17.2.5 스레드 모니터링 595
17.2.6 HTTP 요청 추적하기 596
17.3 Admin 서버의 보안 597
17.3.1 Admin 서버에 로그인 활성화하기 598
17.3.2 액추에이터로 인증하기 598
17.4 Admin 서버 서비스 빌드 및 실행하기 600
요약 606

CHAPTER 18 JMX로 스프링 모니터링하기 607
18.1 액추에이터 MBeans 사용하기 607
18.2 우리의 MBeans 생성하기 610
18.3 알림 전송하기 612
18.4 TacoCounter MBeans 빌드 및 사용하기 613
요약 619

CHAPTER 19 스프링 배포하기 620
19.1 배포 옵션 621
19.2 WAR 파일 빌드하고 배포하기 622
19.3 클라우드 파운드리에 JAR 파일 푸시하기 625
19.4 도커 컨테이너에서 스프링 부트 실행하기 628
요약 633

APPENDIX A 스프링 부트 프로젝트 생성하기 634
A.1 STS를 사용해서 프로젝트 생성하기 634
A.2 IntelliJ IDEA 설치 및 프로젝트 생성하기 638
A.2.1 윈도우 시스템에서 IntelliJ IDEA 설치하기
A.2.2 맥OS에서 IntelliJ IDEA 설치하기
A.2.3 리눅스에서 IntelliJ IDEA 설치하기
A.2.4 IntelliJ IDEA 프로젝트 생성하기
A.3 NetBeans 설치 및 프로젝트 생성하기 645
A.4 start.spring.io에 직접 접속하여 프로젝트 생성하기 651
A.5 명령행에서 프로젝트 생성하기 654
A.5.1 curl과 Initializr API
A.5.2 스프링 부트 명령행 인터페이스 사용하기
A.6 메타-프레임워크를 사용해서 스프링 애플리케이션 생성하기 658
A.7 프로젝트 빌드하고 실행하기 659
A.8 curl 설치하기 660

찾아보기 664
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • 스프링 인 액션
    스프링 인 액션
    31,500
  • 믿는 만큼 자라는 아이들
    믿는 만큼 자라는
    12,420
  • 프로그래머를 위한 파이썬
    프로그래머를 위한
    22,500
  • 암을 이기는 한국의 산나물
    암을 이기는 한국의
    13,500
  • 0시를 향하여(애거서크리스티추리문학베스트 6)
    0시를 향하여(애거
    9,000
  • 0시를 향하여
    0시를 향하여
    9,000
  • 여자를 위해 대신 생각해줄 필요는 없다
    여자를 위해 대신
    14,400
  • Win+ ITQ 엑셀 2016
    Win+ ITQ 엑
    13,500
  • 추억 색칠하기 + 인지 워크북
    추억 색칠하기 +
    11,700
  • 혼자서도 쉽게 돈 버는 이모티콘 만들기
    혼자서도 쉽게 돈
    14,400
  • 창업부터 운영까지 단계별로 실천하는 SNS 마케팅
    창업부터 운영까지
    16,200
  • 세계 도서관 기행
    세계 도서관 기행
    16,200
  • 공공도서관, 엄대섭이 꿈꾼 지식나눔터
    공공도서관, 엄대섭
    16,200
  • NCS기반 정쌤의 3D 프린터운용기능사 필기(2021)
    NCS기반 정쌤의
    26,100
  • 의과대학 인문학 수업
    의과대학 인문학 수
    14,220
  • 완전탈출 만성피로
    완전탈출 만성피로
    11,700
  • 1센티 인문학
    1센티 인문학
    14,220
  • 선생님, 오늘도 무사히!
    선생님, 오늘도 무
    15,120
  • 피로 독립
    피로 독립
    12,600
  • 1등의 전략
    1등의 전략
    13,500
  • 뉴타입의 시대
    뉴타입의 시대
    14,400
  • 숨은 혁신 찾기
    숨은 혁신 찾기
    14,220
  • 영화처럼 리더처럼
    영화처럼 리더처럼
    15,300
  • 우리 아이가 말이 늦어요
    우리 아이가 말이
    13,500
  • 누원장의 허리디스크 절대로 수술하지 마라
    누원장의 허리디스크
    14,220
  • 질문하는 아이로 키우는 엄마표 독서수업
    질문하는 아이로 키
    13,320
  • BTS가 주목한 융의 재발견
    BTS가 주목한 융
    13,500
  • 어메이징 디스커버리. 1: 덴마크
    어메이징 디스커버리
    12,420
  • 슬픔의 위로
    슬픔의 위로
    14,400
  • 감옥에서 만난 자유, 셰익스피어
    감옥에서 만난 자유
    14,400
  • 세일즈 뉴노멀
    세일즈 뉴노멀
    14,220
  • 억대 연봉 부르는 웹소설 작가수업
    억대 연봉 부르는
    16,200
  • 공부 습관 잡아주는 초등 일기
    공부 습관 잡아주는
    12,420
  • 스타트업을 위한 지식재산 가이드
    스타트업을 위한 지
    11,700
  • 논리학 서론 철학백과 서론(리커버 개정판)
    논리학 서론 철학백
    8,910