본문 바로가기

추천 검색어

실시간 인기 검색어

실전 스프링 부트

기본 개념부터 실무 베스트 프랙티스, 그리고 GraalVM, GraphQL, R소켓 등 최신 기술까지
솜나트 무시브 저자(글) · 오명운 번역
제이펍 · 2023년 09월 08일
9.9
10점 중 9.9점
(23개의 리뷰)
추천해요 (45%의 구매자)
  • 실전 스프링 부트 대표 이미지
    실전 스프링 부트 대표 이미지
  • 실전 스프링 부트 부가 이미지1
    실전 스프링 부트 부가 이미지1
  • 실전 스프링 부트 부가 이미지2
    실전 스프링 부트 부가 이미지2
  • A4
    사이즈 비교
    210x297
    실전 스프링 부트 사이즈 비교 188x245
    단위 : mm
01 / 04
무료배송 소득공제
10% 36,000 40,000
적립/혜택
2,000P

기본적립

5% 적립 2,000P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 2,000P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

실전 스프링 부트 상세 이미지
인류에겐 이런 스프링 부트 가이드북이 필요했다
방대한 스프링 부트 공식 문서 중 실무에서 잘 쓰이는 팁을 찾기란 어렵다. 이 책은 초급에서 중급 수준의 독자를 대상으로 스프링 부트의 기본 개념부터 다양한 기능을 효과적으로 사용하는 고급 개념까지 알려주며, 실무에서 겪는 문제의 해법까지 알차게 담았다. 코틀린, GraalVM 스프링 네이티브 이미지, GraphQL, 해시코프 볼트, 다중 인증 등도 다뤄 최신 기술을 익히고 싶은 개발자에게도 큰 도움을 준다.

작가정보

저자(글) 솜나트 무시브

Somnath Musib
10년 이상의 개발 경험을 갖고 있으며 여러 언어를 다룰 수 있는 폴리글랏(polyglot) 개발자. 2015년부터 스프링 부트를 사용하기 시작했으며 스프링 부트 애플리케이션 개발에 열성적으로 참여하고 있다. 가르치는 것을 매우 좋아하며 복잡한 내용을 쉽게 설명할 때 기쁨을 느낀다. 여가 시간에는 미디엄(https://musibs.medium.com/)에 기술 관련 글을 작성해서 공유한다.

번역 오명운

오명운

언제나 버그와 씨름하는 개발자. 번역을 통해 개발자 생태계에 조금이라도 보탬이 되고자 노력한다. 《스프링 5.0 마이크로서비스 2/e》(에이콘출판사, 2018), 《클라우드 네이티브 자바》(책만, 2018), 《엔터프라이즈 데이터 플랫폼 구축》(책만, 2020), 《스프링 부트 실전 활용 마스터》(책만, 2021) 등을 번역했으며, 적은 양이라도 앞으로 꾸준히 번역 작업을 이어갈 생각이다. 깃허브에서 개발 관련 지식을 정리해서 나누고 있고, 특히 문제 해결 기록을 https://github.com/HomoEfficio/dev-tips에 남기면서 기억력 감퇴를 기록력 증진으로 메꾸고 있다. 현재 네이버제트에서 글로벌 메타버스 서비스인 제페토(Zepeto)를 만들며 백발 개발자의 꿈을 이어가고 있다.

목차

  • 옮긴이 머리말 xi
    베타리더 후기 xii
    추천 서문(조시 롱) xiv
    시작하며 xvi
    감사의 글 xviii
    이 책에 대하여 xx
    표지에 대하여 xxiii

    PART I
    CHAPTER 1 스프링 부트 시작하기 3
    1.1 스프링 부트 소개 4
    __1.1.1 왜 스프링 부트인가 4
    __1.1.2 스프링 부트는 무엇인가 5
    __1.1.3 스프링 부트 핵심 기능 6
    __1.1.4 스프링 부트 컴포넌트 7
    1.2 코드 예제 9
    __1.2.1 메이븐 vs. 그레이들 9
    __1.2.2 자바 vs. 코틀린 10
    __1.2.3 데이터베이스 지원 10
    __1.2.4 롬복 10
    1.3 스프링 부트 시작하기 11
    __1.3.1 첫 번째 스프링 부트 프로젝트 11
    __1.3.2 스프링 부트 프로젝트 구조 11
    __1.3.3 실행 가능한 JAR 파일 만들기 22
    __1.3.4 JAR 파일 구조 23
    __1.3.5 스프링 부트 애플리케이션 종료 24
    1.4 스프링 부트 기타 개념 25
    __1.4.1 스프링 부트 스타트업 이벤트 25
    __1.4.2 스프링 부트 애플리케이션 이벤트 감지 26
    __1.4.3 커스텀 스프링 부트 스타터 29
    __1.4.4 커스텀 자동 구성 29
    __1.4.5 실패 분석기 30
    __1.4.6 스프링 부트 액추에이터 30
    __1.4.7 스프링 부트 개발자 도구 31

    PART II
    CHAPTER 2 스프링 부트 공통 작업 35
    2.1 애플리케이션 설정 관리 35
    __2.1.1 SpringApplication 클래스 사용 36
    __2.1.2 @PropertySource 사용 37
    __2.1.3 환경 설정 파일 40
    __2.1.4 운영 체제 환경 변수 47
    2.2 @ConfigurationProperties로 커스텀 프로퍼티 만들기 49
    __2.2.1 기법: @ConfigurationProperties를 사용한 커스텀 프로퍼티 정의 50
    2.3 스프링 부트 애플리케이션 시작 시 코드 실행 56
    __2.3.1 기법: 스프링 부트 애플리케이션 시작 시 CommandLineRunner로 코드 실행 57
    2.4 스프링 부트 애플리케이션 로깅 커스터마이징 62
    __2.4.1 기법: 스프링 부트 애플리케이션의 기본 로깅 이해 및 커스터마이징 62
    __2.4.2 기법: 스프링 부트 애플리케이션에서 Log4j2 사용 67
    2.5 빈 밸리데이션으로 사용자 입력 데이터 유효성 검증 72
    __2.5.1 기법: 빈 밸리데이션 애너테이션을 사용한 비즈니스 엔티티 유효성 검증 72
    __2.5.2 기법: 스프링 부트 애플리케이션에서 커스텀 빈 밸리데이션 애너테이션을 사용한
    POJO 빈 유효성 검증 76

    CHAPTER 3 스프링 데이터를 사용한 데이터베이스 접근 83
    3.1 스프링 데이터 소개 83
    __3.1.1 왜 스프링 데이터인가? 84
    __3.1.2 스프링 데이터 모듈 85
    3.2 스프링 부트 애플리케이션 데이터베이스 연동 설정 87
    __3.2.1 기법: 스프링 부트 애플리케이션에서 관계형 데이터베이스 연동 설정 88
    __3.2.2 기법: 스프링 부트 애플리케이션 몽고DB 설정 93
    __3.2.3 기법: 스프링 부트 애플리케이션에서 관계형 데이터베이스 초기화 96
    3.3 CrudRepository 인터페이스 이해 101
    __3.3.1 기법: 스프링 데이터 JPA를 사용해서 도메인 객체를 관계형 데이터베이스에서 관리
    103
    __3.3.2 기법: 커스텀 스프링 데이터 리포지터리를 만들어서 관계형 데이터베이스에서 도메인
    객체 관리 111
    3.4 스프링 데이터를 사용한 데이터 조회 114
    __3.4.1 쿼리 메서드 정의 114
    __3.4.2 기법: 관계형 데이터베이스에서 스프링 데이터 JPA를 사용한 커스텀 쿼리 메서드 정의
    115
    __3.4.3 PagingAndSortingRepository를 활용한 페이징 119
    __3.4.4 PagingAndSortingRepository 인터페이스로 데이터 페이징 및 정렬 119
    __3.4.5 @NamedQuery를 사용하는 쿼리 123
    __3.4.6 기법: 관계형 데이터베이스에 저장된 도메인 객체를 NamedQuery로 조회 124
    3.5 @Query로 쿼리문 지정 127
    __3.5.1 기법: @Query 애너테이션을 사용해서 쿼리를 정의하고 관계형 데이터베이스에 저장
    된 도메인 객체 조회 127
    3.6 Criteria API 사용 132
    __3.6.1 기법: Criteria API를 사용해서 관계형 데이터베이스에 저장된 도메인 객체 관리 132
    3.7 스프링 데이터 JPA와 QueryDSL 136
    __3.7.1 기법: 관계형 데이터베이스에 저장된 도메인 객체를 QueryDSL로 관리 136
    __3.7.2 기법: 프로젝션 142
    3.8 도메인 객체 관계 관리 144
    __3.8.1 기법: 스프링 데이터 JPA를 사용해서 관계형 데이터베이스에서 다대다 관계 도메인 객
    체 관리 145

    CHAPTER 4 스프링 자동 구성과 액추에이터 157
    4.1 스프링 부트 자동 구성 이해 158
    __4.1.1 @Conditional 애너테이션 이해 160
    __4.1.2 자동 구성 탐구 163
    4.2 스프링 부트 개발자 도구 166
    __4.2.1 프로퍼티 기본값 167
    __4.2.2 자동 재시작 167
    __4.2.3 라이브 리로드 167
    4.3 커스텀 실패 분석기 생성 167
    __4.3.1 기법: 커스텀 스프링 부트 실패 분석기 생성 168
    4.4 스프링 부트 액추에이터 172
    __4.4.1 기법: 스프링 부트 액추에이터 설정 173
    __4.4.2 스프링 부트 액추에이터 엔드포인트 이해 174
    __4.4.3 스프링 부트 액추에이터 엔드포인트 관리 177
    __4.4.4 Health 엔드포인트 탐구 179
    __4.4.5 커스텀 스프링 부트 HealthIndicator 작성 183
    __4.4.6 기법: 커스텀 스프링 부트 액추에이터 HealthIndicator 정의 183
    4.5 info 엔드포인트 탐구 186
    __4.5.1 기법: 스프링 부트 액추에이터 info 엔드포인트 설정 186
    __4.5.2 기법: 애플리케이션 정보를 표시하는 커스텀 InfoContributor 190
    4.6 커스텀 스프링 부트 액추에이터 엔드포인트 생성 192
    __4.6.1 기법: 커스텀 스프링 부트 액추에이터 생성 193
    __4.6.2 스프링 부트 액추에이터 메트릭 200
    __4.6.3 커스텀 측정지표 생성 203
    __4.6.4 프로메테우스와 그라파나를 사용한 측정지표 대시보드 210

    CHAPTER 5 스프링 부트 애플리케이션 보안 223
    5.1 스프링 시큐리티 소개 224
    5.2 스프링 부트와 스프링 시큐리티 226
    __5.2.1 기법: 스프링 부트 애플리케이션에서 스프링 시큐리티 활성화 226
    __5.2.2 필터, 필터체인과 스프링 시큐리티 231
    __5.2.3 스프링 시큐리티 아키텍처 233
    __5.2.4 사용자 인증 236
    __5.2.5 스프링 시큐리티 자동 구성 239
    5.3 스프링 시큐리티 적용 242
    __5.3.1 기법: 스프링 부트 애플리케이션에서 스프링 시큐리티 로그인 페이지 커스터마이징
    242
    __5.3.2 기법: 인메모리 인증 적용 248
    __5.3.3 기법: JDBC 인증 설정 255
    __5.3.4 기법: 커스텀 UserDetailsService 적용 259
    __5.3.5 기법: LDAP 인증 적용 265
    __5.3.6 기법: HTTP 기본 인증 적용 270

    CHAPTER 6 스프링 시큐리티 응용 274
    6.1 스프링 부트 애플리케이션에 HTTPS 활성화 276
    __6.1.1 기법: HTTPS 활성화 276
    6.2 스프링 클라우트 볼트를 활용한 비밀 정보 관리 280
    __6.2.1 기법: 스프링 부트 애플리케이션에서 볼트를 활용한 비밀 정보 관리 281
    6.3 사용자 등록 구현 286
    __6.3.1 기법: 스프링 시큐리티를 사용한 사용자 등록 구현 286
    6.4 이메일 확인 296
    __6.4.1 기법: 사용자 이메일 확인 297
    6.5 로그인 시도 횟수 제한 309
    __6.5.1 기법: 로그인 시도 횟수 제한 309
    6.6 리멤버 미 기능 구현 316
    __6.6.1 기법: 스프링 시큐리티를 사용한 리멤버 미 구현 316
    6.7 리캡차 구현 320
    __6.7.1 기법: 구글 리캡차 적용 321
    6.8 구글 오센티케이터 2단계 인증 328
    __6.8.1 기법: 2단계 인증 적용 329
    6.9 OAuth2 인증 342
    __6.9.1 기법: 구글 계정으로 로그인 342
    6.10 액추에이터 엔드포인트 보안 353
    __6.10.1 기법: 스프링 부트 액추에이터 엔드포인트 보안 354

    CHAPTER 7 스프링 부트 RESTful 웹 서비스 개발 357
    7.1 스프링 부트 RESTful API 개발 358
    __7.1.1 기법: 스프링 부트를 사용한 RESTful API 개발 358
    7.2 스프링 부트 RESTful API 예외 처리 368
    __7.2.1 기법: RESTful API 예외 처리 368
    7.3 RESTful API 테스트 373
    __7.3.1 기법: 스프링 부트 애플리케이션에서 RESTful API 테스트 374
    7.4 RESTful API 문서화 380
    __7.4.1 기법: OpenAPI를 사용한 RESTful API 문서화 380
    7.5 RESTful API 버저닝 387
    __7.5.1 기법: URI 버저닝 388
    __7.5.2 기법: HTTP 요청 파라미터를 사용한 버저닝 392
    __7.5.3 기법: 커스텀 HTTP 헤더를 사용한 버저닝 394
    __7.5.4 기법: 미디어 타입을 사용한 버저닝 397
    7.6 RESTful API 보안 400
    __7.6.1 기법: JWT를 사용한 RESTful API 요청 인가 401


    PART III
    CHAPTER 8 리액티브 스프링 부트 애플리케이션 개발 425
    8.1 리액티브 프로그래밍 소개 426
    __8.1.1 백프레셔 429
    __8.1.2 리액티브 프로그래밍의 장점 430
    8.2 프로젝트 리액터 431
    8.3 스프링 웹플럭스 소개 435
    __8.3.1 기법: 애너테이션 컨트롤러 기반의 리액티브 RESTful API 개발 436
    __8.3.2 기법: 함수형 엔드포인트를 사용하는 리액티브 RESTful API 개발 445
    8.4 리액티브 애플리케이션 테스트 451
    __8.4.1 기법: WebClient로 API 클라이언트 작성 452
    8.5 알소켓 소개 459
    __8.5.1 기법: 알소켓과 스프링 부트를 활용한 애플리케이션 개발 460
    8.6 웹소켓 소개 471
    __8.6.1 기법: 웹소켓을 사용하는 스프링 부트 애플리케이션 개발 473

    PART IV
    CHAPTER 9 스프링 부트 애플리케이션 배포 483
    9.1 실행 가능한 JAR 파일로 스프링 부트 애플리케이션 실행 485
    __9.1.1 기법: 실행 가능한 JAR 파일로 패키징하고 실행 485
    9.2 스프링 부트 애플리케이션을 WAR 패키지로 만들어 배포 491
    __9.2.1 기법: 스프링 부트 애플리케이션을 WAR 파일로 패키징하고 WildFly 애플리케이션 서
    버에 배포 492
    9.3 클라우드 파운드리에 스프링 부트 애플리케이션 배포 502
    __9.3.1 기법: 클라우드 파운드리에 스프링 부트 애플리케이션 배포 504
    9.4 허로쿠에 스프링 부트 애플리케이션 배포 507
    __9.4.1 기법: 허로쿠에 스프링 부트 애플리케이션 배포 508
    9.5 도커 컨테이너로 스프링 부트 애플리케이션 배포 511
    __9.5.1 기법: 컨테이너 이미지 생성과 스프링 부트 애플리케이션을 컨테이너로 만들어 실행하
    기 513
    9.6 쿠버네티스 클러스터에 스프링 부트 애플리케이션 배포 519
    __9.6.1 기법: 쿠버네티스에 스프링 부트 애플리케이션 배포 519
    9.7 레드햇 오픈시프트에 스프링 부트 애플리케이션 배포 525
    __9.7.1 기법: 레드햇 오픈시프트 플랫폼에 스프링 부트 애플리케이션 배포 525

    PART V
    CHAPTER 10 스프링 부트와 코틀린, 네이티브 이미지, GraphQL 531
    10.1 스프링 부트와 코틀린 532
    __10.1.1 기법: 코틀린으로 스프링 부트 애플리케이션 개발 533
    __10.1.2 기법: 스프링 부트 코틀린 애플리케이션에 스프링 시큐리티 적용 540
    10.2 스프링 네이티브 544
    __10.2.1 GraalVM 545
    __10.2.2 GraalVM 네이티브 이미지 546
    __10.2.3 스프링 부트 네이티브 이미지 547
    __10.2.4 기법: 빌드팩으로 스프링 부트 네이티브 이미지 생성 547
    __10.2.5 기법: 메이븐 플러그인으로 스프링 부트 네이티브 이미지 생성 553
    __10.2.6 스프링 AOT 메이븐 플러그인 555
    10.3 스프링 부트와 GraphQL 557
    __10.3.1 REST의 문제 557
    __10.3.2 GraphQL 소개 558
    __10.3.3 스프링 부트에서 GraphQL 사용 560
    __10.3.4 기법: 스프링 부트 애플리케이션에서 GraphQL API 개발 560
    __10.3.5 기법: 웹소켓을 사용하는 스프링 부트 GraphQL API 개발 577

    APPENDIX A 스프링 이니셜라이저와 스프링 부트 CLI 583
    A.1 스프링 이니셜라이저로 스프링 부트 애플리케이션 생성 583
    __A.1.1 스프링 이니셜라이저 소개 583
    __A.1.2 기법: 스프링 이니셜라이저 웹으로 스프링 부트 애플리케이션 생성 584
    __A.1.3 기법: 인텔리제이에서 스프링 이니셜라이저로 스프링 부트 프로젝트 생성 589
    __A.1.4 기법: 스프링 툴 스위트에서 스프링 이니셜라이저로 스프링 부트 프로젝트 생성 592
    __A.1.5 기법: 비주얼 스튜디오 코드에서 스프링 이니셜라이저로 스프링 부트 프로젝트 생성
    594
    __A.1.6 기법: 터미널에서 스프링 이니셜라이저로 스프링 부트 프로젝트 생성 598
    A.2 스프링 부트 CLI를 사용한 스프링 부트 애플리케이션 개발 600
    __A.2.1 스프링 부트 CLI 소개 600
    __A.2.2 설치 601
    __A.2.3 스프링 부트 프로젝트 생성 602 / A.2.4 간단한 스프링 부트 프로젝트 개발 602

    APPENDIX B 스프링 MVC와 타임리프 템플릿 엔진 605
    B.1 스프링 MVC 복습 605
    __B.1.1 프런트 컨트롤러 디자인 패턴 606
    __B.1.2 요청 처리 과정 이해 607
    B.2 타임리프 템플릿 엔진 609
    __B.2.1 속성 표시 610
    __B.2.2 조건 평가 612
    __B.2.3 폼 관리 613
    B.3 스프링 부트에서 템플릿 엔진 활성화 616
    __B.3.1 기법: 타임리프를 사용해서 스프링 부트 웹 애플리케이션 개발 618

    찾아보기 637

추천사

  • 방향을 제대로 정하지 않고 길을 찾아낼 수는 없는 법이다. 《실전 스프링 부트》는 내게 희망을 안겨줬다. 이 책 덕분에 서버 애플리케이션 확장과 서비스 배포 시 항상 뒤따라오는 현기증을 피할 수 있게 됐다. 알찬 내용으로 가득 찬 이 책을 읽으면 애플리케이션 구축 업무에 바로 뛰어들 수 있을 것이다. 먼저 기초를 빠르고 단단하게 다질 수 있고, 읽다 보면 어느새 무언가를 만들고 있는 자신을 발견하게 된다. 무언가를 배우는 데는 이보다 좋은 방법이 없을 것이다.

책 속으로

복잡한 과정 대신에 애플리케이션에 비즈니스 로직을 작성하고, 실행 가능한 파일로 만들어서 커맨드라인으로 바로 실행할 수 있으면 어떨까? 이렇게 하면 복잡한 XML 설정이나 애플리케이션 서버 배포 과정, 기타 기술적인 조작이 필요 없어진다. 기존에 수행해야 했던 복잡한 과정에 필요한 모든 퍼즐 조각을 경험 많은 마술사가 신비롭게도 모두 알아서 맞춰준다. (4쪽)

스프링 데이터의 핵심 목표는 여러 데이터 소스의 데이터를 다룰 때 일관성 있는 프로그래밍 모델을 제공하는 것이다. 그래서 데이터 소스에 저장해야 하는 도메인 객체의 메타데이터를 편리하게 지정할 수 있는 API를 제공하여 비즈니스 도메인 객체가 특정 데이터 스토어에 저장될 수 있도록 한다. 또 관계형 데이터베이스와 스프링 데이터 JPA를 사용해서 비즈니스 객체를 관리할 수 있다. JPA 애너테이션을 지정하면 스프링 데이터 JPA는 관계형 데이터베이스의 테이블에 도메인 객체를 저장한다. 3장에서 비즈니스 객체에 사용하는 여러 JPA 애너테이션을 살펴볼 것이다. (84~85쪽)

이렇게 이벤트를 사용하지 않고 그냥 RegistrationController에서 이메일을 보내는 것도 물론 가능하다. 하지만 이벤트를 사용하면 사용자 등록이라는 프로세스와 이메일 발송이라는 행위를 결합하지 않고 분리할 수 있다는 장점이 있다. 이처럼 이벤트 발생을 관찰하거나 듣고 있다가 발생 시 특정 작업을 수행하도록 설계하는 디자인 패턴을 옵서버(observer) 패턴이라고 한다. 옵서버 패턴은 특히 분산 마이크로서비스 환경에서 결합도를 낮추는 데 중요한 역할을 한다. (302쪽)

API를 설계할 때는 애플리케이션에서 발생할 수 있는 예외 시나리오를 식별하는 것이 우선이다. 그리고 식별된 예외 시나리오에 맞는 커스텀 예외 클래스를 정의한다. 커스텀 예외를 사용하면 애플리케이션에 맞게 적절한 예외 모델을 구축할 수 있고 다양한 예외에 더 유연하게 대처할 수 있다. 커스텀 예외를 정의한 후에는 ExceptionHandler 메서드를 정의해서 예외 처리 로직을 구현하고 상황에 맞는 HTTP 응답 코드를 반환한다. 예를 들어 요청 본문에 포함된 JSON에 오류가 있을 때는 HTTP 400 Bad Request를 반환해야 하는데, 이는 과제로 남겨둔다. (372~373쪽)

스프링 네이티브(Native)를 사용하면 GraalVM 네이티브 이미지 컴파일러를 활용해서 스프링 애플리케이션을 실행할 하드웨어 아키텍처에 특화된 네이티브 실행 파일을 만들 수 있다. 네이티브 이미지를 사용하면 전통적인 JVM 방식에 비해 애플리케이션 시작 시간이나 메모리 사용량에서 장점이 있다. GraalVM 같은 네이티브 이미지 플랫폼은 애플리케이션 소스 코드와 클래스패스를 컴파일 타임에서 정적으로 분석해서 런타임에 사용할 코드베이스만 남기고 나머지는 버린다. 결과적으로 네이티브 이미지에는 런타임에 필요한 내용만 포함된다. (544쪽)

스프링 MVC는 프런트 컨트롤러 디자인 패턴을 따라 설계됐다. 프런트 컨트롤러 패턴에서는 서블릿 하나가 모든 요청을 처리하는 중추 역할을 담당한다. 스프링에서는 이 중심 서블릿을 디스패처 서블릿(disapatcher servlet)이라고 부른다. 모든 요청이 디스패처 서블릿을 거쳐 가기는 하지만 요청의 실제 처리는 설정 가능한 여러 컴포넌트에 위임된다. (606쪽)

출판사 서평

스프링 부트에서 자주 겪는 개발 문제를 요구 사항/해법/토론 형식으로 풀어낸 실용적인 레시피

IT 업계에서 마이크로서비스 기반 아키텍처가 널리 사용됨에 따라 스프링 부트의 인기는 하늘을 찌르고 있으며 스프링 부트는 개발자들 사이에서 가장 배우고 싶은 자바 프레임워크로 자리매김하고 있다. 엄청난 인기에도 스프링 부트의 공식 문서는 너무나 방대하고 바로 사용할 수 있는 예제는 턱없이 부족하여 초중급 사용자에게 적합하지 않다.

이 책은 스프링 부트의 명확한 그림을 보여주고 내부 개념을 알기 쉽게 설명한다. 또한 교과서 스타일의 이론적인 예제가 아니라 실무에서 사용할 수 있는 예제를 제공한다. 1부에서는 스프링 부트를 개괄적으로 살펴보고 주요 특징과 다양한 기능을 살펴본다. 2부는 데이터베이스 연동, 자동 구성과 액추에이터, 스프링 시큐리티, 고급 보안 기법, RESTful API 개발 방법 등 스프링 부트 애플리케이션 개발에 필요한 개념과 기법을 알아본다. 3부는 웹소켓, R소켓을 사용해서 스프링 부트 리액티브 애플리케이션을 만들어본다.

4부는 JAR이나 WAR 패키지를 통해 스프링 부트 애플리케이션을 배포하는 방법과 클라우드 파운드리와 허로쿠에 배포하는 방법을 알아보고, 스프링 부트 애플리케이션을 컨테이너로 만들어서 쿠버네티스 클러스터와 레드햇 오픈시프트에 배포해본다. 5부는 코틀린을 사용해서 스프링 부트 애플리케이션을 개발하고, 스프링 네이티브를 사용해 GraalVM 네이티브 이미지를 만들어보며, GraphQL을 사용하는 방법도 알아본다. 부록에서는 스프링 이니셜라이저로 스프링 부트 애플리케이션을 생성하는 방법, 스프링 부트 CLI를 사용하는 방법, 스프링 MVC, 타임리프 템플릿 엔진 사용법을 알아본다.

프로메테우스, 그라파나 설치 등 원서 설명이 부족한 부분은 한국 독자를 위해 옮긴이가 그림과 설명을 추가해 완성도를 더욱 높였다. 최신 내용으로 가득 찬 이 책은 스프링 부트 개발자들에게 올바른 방향을 알려주는 최고의 가이드다. 개발 문제를 해결하고 최신 기술을 익히고 싶은 실무자에게 도움이 되는 것은 물론, 스프링 부트 기본 개념과 핵심 기능들도 다루기 때문에 초보자도 순서대로 정독하기만 한다면 스프링 부트로 애플리케이션을 구축할 수 있다.

주요 내용
● 전문가의 관점에서 바라본 스프링 부트의 다양한 기능
● 스프링 부트 애플리케이션 설정 관리, 로깅, 데이터 검증
● 스프링 시큐리티 활용 및 실제 서비스 환경에 적용하는 고급 보안 기법
● 스프링 부트로 마이크로서비스 및 RESTful API 개발하기
● 마이크로서비스 문서화, 버저닝, 보안성 향상 기법
● 웹소켓, R소켓을 사용한 리액티브 애플리케이션 개발
● 쿠버네티스 및 주요 클라우드 플랫폼에 스프링 부트 애플리케이션 배포
● 스프링 부트 애플리케이션에서 컨테이너화 구현하기
● 스프링 부트에 코틀린, GraalVM 네이티브 이미지, GraphQL 통합하기

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수, 원서(번역서)명/저자명을(를) 나타낸 표입니다.
ISBN 9791192987354
발행(출시)일자 2023년 09월 08일
쪽수 672쪽
크기
188 * 245 * 36 mm / 1364 g
총권수 1권
원서(번역서)명/저자명 Spring Boot in Practice/Somnath Musib

Klover

구매 후 리뷰 작성 시, e교환권 200원 적립

10점 중 10점
/도움돼요
좋은책 잘봤습니다 초심자인데 많은 도움 받고 갑니다
10점 중 10점
/추천해요
이제 막 스프링 공부를 시작한 지인이 있다면 추천해주고 싶은 책입니다.
도움되는 내용이 많습니다.
10점 중 10점
/집중돼요
최근에 많이 도입되는 GraphQL 이나 코틀린 등 예제소스들이 많아서 이해하는데 도움이 되었던거 같아요
10점 중 10점
/최고예요
오 잘보고있습니다 실전
10점 중 7.5점
/추천해요
스프링 부트를 자세히 공부하는데 많은 도움이 될 것 같습니다.
10점 중 10점
/집중돼요
좋은 책입니다. 굿
10점 중 10점
/도움돼요
스프링 부트를 깊이 있게 다루고 있는 것 같습니다. 많은 도움이 될 것 같습니다.
10점 중 10점
/도움돼요
무난하게 잘뽑은 책입니다

문장수집 (0)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요.

교환/반품/품절 안내

  • 반품/교환방법

    마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환 신청, [1:1 상담 > 반품/교환/환불] 또는 고객센터 (1544-1900)
    * 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900)
  • 반품/교환가능 기간

    변심반품의 경우 수령 후 7일 이내,
    상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
  • 반품/교환비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 반품/교환 불가 사유

    1) 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
    2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
    3) 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
    6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
    9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등
  • 상품 품절

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

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

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

TOP