장바구니 담기 close

장바구니에 상품을 담았습니다.

스프링 부트 3.0 3/e

스프링 부트 3.0 3/e

  • 그렉 턴키스트
  • |
  • 에이콘출판
  • |
  • 2024-08-27 출간
  • |
  • 324페이지
  • |
  • 188 X 235 X 18mm
  • |
  • ISBN 9791161758633
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

◈ 이 책에서 다루는 내용 ◈

◆ 번거로움을 최소화하고 강력한 프로덕션 수준의 웹 애플리케이션 만들기
◆ 하나의 아티팩트로 여러 환경을 지원하고, 프로덕션급 지원 기능 추가하기
◆ 다양한 속성을 통해 자바 앱을 조정하는 방법 알아보기
◆ 앱의 보안 모델 강화하기
◆ 스프링 부트에서 네이티브 배포 및 반응형 프로그래밍과 같은 향상된 기능 활용하기
◆ 가벼운 단위 테스트부터 완전히 실행되는 임베디드 웹 컨테이너 통합 테스트까지 빌드하기
◆ 반응형 프로그래밍을 알아보고 적합한 접근 방식인지 의사 결정하기


◈ 이 책의 대상 독자 ◈

스프링 부트 3.0을 사용하고자 하는 초보자와 숙련된 스프링 개발자 모두를 위해 만들어졌다. 자바에 대한 기초적인 이해가 있어야 하며, 가급적이면 자바 8 이상 버전이어야 한다. 람다(lambda) 함수, 메서드(method) 참조, 레코드(record) 유형, 자바 17 버전에서 새롭게 개선된 컬렉션 API에 익숙하면 좋지만 필수는 아니다.
필수는 아니지만 이전 버전의 스프링 부트(1.x, 2.x)를 사용해본 경험이 있다면 도움이 될 것이다.


◈ 이 책의 구성 ◈

1장, ‘스프링 부트의 핵심 기능’에서는 애플리케이션을 빌드할 때 사용할 수 있는 기본 기능과 함께 스프링 부트의 매력을 알아본다.
2장, ‘스프링 부트로 웹 애플리케이션 만들기’는 서버 및 클라이언트 측 옵션을 모두 사용해 자바 애플리케이션의 웹 레이어(layer)를 쉽게 제작하는 방법을 알려준다.
3장, ‘스프링 부트로 데이터 쿼리하기’에서는 스프링 데이터로 데이터베이스를 최대한 활용하는 방법을 보여준다.
4장, ‘스프링 부트 애플리케이션 보호’에서는 스프링 시큐리티의 최첨단 기능을 사용해 애플리케이션을 내부와 외부의 악당으로부터 보호하는 방법을 살펴본다.
5장, ‘스프링 부트 테스트’는 모의 데이터베이스와 임베디드 데이터베이스로 테스트하고, 실제 데이터베이스와 결합된 테스트컨테이너(Testcontainer)를 사용해 시스템에 대한 신뢰를 구축하는 방법을 알려준다.
6장, ‘스프링 부트 애플리케이션 구성’에서는 애플리케이션이 빌드된 후 조정하고 적용하는 방법을 알아본다.
7장, ‘스프링 부트 애플리케이션 릴리스’에서는 애플리케이션을 프로덕션 환경으로 전환하고 사용자에게 제공하는 다양한 방법을 살펴본다.
8장, ‘스프링 부트로 네이티브 전환’에서는 몇 초만에 시작하고 모든 리소스를 차지하지 않는 네이티브 이미지를 사용해 애플리케이션의 속도를 비약적으로 향상시키는 방법을 보여준다.
9장, ‘리액티브 웹 컨트롤러 작성’에서는 반응형 웹 컨트롤러를 작성하는 것이 얼마나 쉬운지, 그리고 반응형 웹 컨트롤러가 어떻게 더 효율적인 애플리케이션의 핵심이 될 수 있는지를 설명한다.
10장, ‘반응형 데이터 작업’에서는 R2DBC를 사용해 반응형 데이터를 쿼리하는 방법을 알아보고 애플리케이션의 효율성을 확인하는 데 도움을 준다.


◈ 옮긴이의 말 ◈

스프링 부트 프레임워크는 작고 빠르게 사용할 수 있어 많은 조직에서 선호하며 사용하고 있다. 2022년에 3.0 버전을 릴리스한 이후 2024년 7월 현재 3.3.x 버전까지 출시돼 작은 스타트업부터 대규모 엔터프라이즈까지 폭넓게 활용되고 있다. 스프링 부트 3.0의 주요 특징으로는 자바 17을 기본으로 지원하고, 기존의 자바 EE API에서 자카르타(Jakarta) EE 9 API로 전환된 부분이 있다. 또한, GraalVM을 사용해서 클라우드 네이티브 이미지를 빌드해 경량화된 이미지를 통해 부트스트랩 시간을 단축하고 메모리 사용량을 최적화할 수 있는 것이 큰 장점 중 하나다. 이번 책에서는 자세히 다루지 않지만 Micrometer 및 Micrometer Tracing 기능이 통합돼 더 효율적으로 관측 데이터를 수집할 수 있게 된 것도 중요한 특징이다.
이 책은 스프링 부트 3.0을 활용해 자바와 스프링으로 빠른 시간 내에 애플리케이션 개발을 단순화하는 종합적인 가이드로 활용할 수 있다. 초보자와 경험 많은 개발자 모두를 대상으로 하며, 기본 설정에서부터 고급 기능까지 실용적인 예제와 함께 다루고 있다. 초보자들이 반드시 알아야 하는 스프링 부트의 핵심 요소인 자동 설정, 스타터, 설정 프로퍼티, 의존성 관리 등을 초반에 설명하고, Thymeleaf 기반의 간단한 웹 애플리케이션부터 시작한다. JPA, 스프링 시큐리티, 테스트 등을 살펴보고 GraalVM을 사용해서 클라우드 네이티브 이미지를 빌드하고 여러 가지 도구를 사용해 도커 컨테이너 기반으로 베이크하는 방법도 다룬다. 후반부에는 웹플럭스를 통해 반응형 웹 컨트롤러를 작성하는 방법과 반응형 데이터를 처리하는 방법까지 다룬다.
사실 이 책은 스프링 부트의 모든 내용을 담고 있지는 않지만, 스프링을 사용해본 경험이 있거나 스프링 부트에 대해 기초적인 지식이 있는 분들께 유용하게 활용될 것이라 생각한다.

목차

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장. 스프링 부트 애플리케이션 보호
__프로젝트에 스프링 시큐리티 추가
__사용자 지정 보안 정책으로 자체 사용자 생성
__하드 코딩된 사용자를 스프링 데이터 지원 사용자 집합으로 교체
__웹 경로 및 HTTP 메서드 보안
____CSRF를 사용할 것인가 말 것인가, 그것이 문제로다
__스프링 데이터 메서드 보안
____모델 업데이트
____데이터 소유권 확보
____삭제 버튼 추가
____데이터 소유자에 대한 액세스 권한 잠그기
____메서드 수준 보안 활성화
____사이트에 사용자 세부 정보 표시
__구글을 활용해 사용자 인증
____OAuth 사용의 장점
____OAuth 사용의 단점
____구글 OAuth 2.0 애플리케이션 생성
____스프링 부트 프로젝트에 OAuth 클라이언트 추가
____원격으로 OAuth2 API 호출
____OAuth2 기반 웹 애플리케이션 생성
__요약


5장. 스프링 부트 테스트
__애플리케이션에 JUnit 5 추가
__도메인 기반 테스트 케이스 생성
__MockMVC를 사용해 웹 컨트롤러 테스트
__모킹으로 데이터 리포지터리 테스트
__임베디드 데이터베이스로 데이터 리포지터리 테스트
__애플리케이션에 테스트컨테이너 추가
__테스트컨테이너를 사용한 데이터 리포지터리 테스트
__스프링 시큐리티 테스트로 보안 정책 테스트
__요약


3부. 스프링 부트 애플리케이션 릴리스
6장. 스프링 부트 애플리케이션 설정
__사용자 지정 프로퍼티 생성
__프로파일 기반 프로퍼티 파일 생성
__YAML 전환
__환경 변수로 프로퍼티 설정
__프로퍼티 오버라이드 순서
__요약


7장. 스프링 부트 애플리케이션 릴리스
__uber JAR 생성
__도커 컨테이너 베이킹
____‘올바른’ 유형의 컨테이너 빌드
__애플리케이션을 도커 허브에 릴리스
__프로덕션 환경 조정
____스프링 부트 스케일링
__요약


8장. 스프링 부트로 네이티브 전환
__GraalVM이 중요한 이유
__GraalVM에 맞게 애플리케이션 갱신
__GraalVM으로 기본 스프링 부트 애플리케이션 실행
____GraalVM을 다시 사용해야 하는 이유
__GraalVM으로 도커 컨테이너 베이킹
____스프링 부트 3.0과 스프링 부트 2.7 및 스프링 네이티브 비교
____GraalVM 및 기타 라이브러리
__요약


4부. 스프링 부트 애플리케이션 확장
9장. 반응형 웹 컨트롤러 작성
__반응형이란 무엇이며 관심을 가져야 할 이유
____반응형
____반응형 스트림 세부 정보
__반응형 스프링 부트 애플리케이션 생성
__반응형 GET 메서드로 데이터 서비스
__반응형 POST 메서드로 들어오는 데이터 소비
____프로젝트 리액터로 애플리케이션 확장
____자바 동시성 프로그래밍 역사 빠르게 훑어보기
__반응형 템플릿 서비스
____리액티브 웹 컨트롤러 생성
____타임리프 템플릿 생성
__반응형 하이퍼미디어 생성
__요약


10장. 반응형 데이터 작업
__반응형으로 데이터를 가져온다는 것의 의미
__반응형 데이터 저장소 선택
__반응형 데이터 리포지터리 만들기
__R2DBC 사용
____R2dbcEntityTemplate로 데이터 로드
____API 컨트롤러에 반응형으로 데이터 반환
____템플릿에서 데이터를 반응형으로 처리
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.