본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

스프링 부트로 배우는 자바 웹 개발 서블릿부터 Spring Data JPA, Rest API | 액추에이터를 활용한 모니터링, 클라우드 서비스를 이용한 배포까지

윤석진 지음 | 제이펍 | 2018년 06월 29일 출간
  • 정가 : 27,000원
    판매가 : 24,300 [10%↓ 2,700원 할인]
  • 통합포인트 :
    [기본적립] 1,350원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(19일,목) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내
장바구니 담기 바로구매

책 그리고 꽃 서비스
책 그리고 꽃 | 책과 꽃을 함께 선물하세요 자세히보기

닫기

바로드림 주문 선물하기 보관함 담기
이벤트도서포함, 5만원이상 구매시 택1 (벚꽃/자동차/나뭇잎/번짐4종, 포인트 차감)
닫기
  • 2018 운전면허 시험 EVENT
  • [초등학습] EBS 만점왕 2학기 EVENT
  • 이벤트도서포함, 5만원이상 구매시 택1 (벚꽃/자동차/나뭇잎/번짐4종, 포인트 차감)
  • 자기계발 라곰파우치
  • 옥스포드 리갈패드
  • 교보문고 OtvN 인문학살롱 14 이기주 한때 소중했던 것들
  • 이벤트도서포함, 2만원이상 구매시 택1 (고사리가방/아는여행/세익스피어 3종, 포인트 차감)
  • 월간 그림책 갤러리 vol.14
  • 2018 여름방학 유아/어린이/좋은부모 추천도서
  • Toy Book Festival_핑크퐁 썸머패치

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • Dev ReadIT 2018 행사도서 1권 이상 구매 시, 사은..
    2018.06.08 ~ 2018.08.31
  • 제이펍의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9791188621279(1188621270)
쪽수 408쪽
크기 191 * 245 * 21 mm /815g 판형알림

책소개

이 책이 속한 분야

자바 기반의 웹 서비스를 가장 쉽고 빠르게 배운다!

시중에는 자바 웹 개발자를 위한 스프링과 JSP 관련 서적이 많이 나와 있긴 하지만, 입문자가 끝까지 따라 할 만한 책은 많지 않습니다. 이 책은 독자들이 자바 기반의 웹 서비스를 만들거나 공부할 때 가장 쉽게 따라 할 수 있도록 집필되었습니다. 자바 웹 개발 환경에 대한 기초 설명과 개발에 필요한 필수 기술을 다루며, 나아가 모니터링 및 헤로쿠를 이용한 클라우드 배포까지 웹 서비스에 필요한 전반적인 내용을 담고 있습니다.

저자소개

저자 : 윤석진

저자 윤석진
현재 네이버에서 동영상 플랫폼 개발 업무를 담당하고 있으며, 백오피스 구축과 프레임워크 설계 및 개발에 관심이 많다. 저서로는 《엔터프라이즈 빌드 자동화를 위한 Gradle》(한빛미디어)이 있다.

목차

CHAPTER 1 개발 환경의 변화와 자바 · 1
1.1 인프라와 스프링 프레임워크의 변화 3
1.1.1 아키텍처의 변화 3
1.1.2 스프링 프레임워크의 변화 5
1.2 웹 애플리케이션 컨테이너 6
1.2.1 자바 개발을 위해 꼭 필요한 클래스 로더 6
1.3 WAR 파일의 특성 8

CHAPTER 2 서블릿 · 11
2.1 서블릿 시작하기 13
2.1.1 서블릿 설정 13
2.2 서블릿 내부 동작 16
2.2.1 서블릿의 생명주기 16
2.3 서블릿 활용 20
2.3.1 HTTP 요청과 응답 20
2.3.2 멀티파트 24
2.4 서블릿 관련 객체들 28
2.4.1 필터 28
2.4.2 쿠키 30
2.4.3 세션 36
2.5 디자인 패턴 활용 40
2.5.1 Java EE 패턴 40
2.5.2 프론트 컨트롤러 패턴 41

CHAPTER 3 스프링 프레임워크 · 49
3.1 빈 + 컨테이너 51
3.2 IoC 패턴 활용 52
3.2.1 인터페이스와 스프링 53
3.2.2 스프링 XML 설정 56
3.2.3 스프링 JavaConfig 설정 63
3.3 스프링 MVC 69
3.3.1 스프링 MVC 구조 69
3.3.2 스프링 MVC 설정 70
3.3.3 DispatcherServlet 설정 72
3.3.4 컨트롤러와 뷰 73
3.3.5 인터셉터 75

CHAPTER 4 스프링 부트 웹 개발 · 81
4.1 스프링 부트에 대한 이해 83
4.1.1 스프링 부트의 프로젝트 레이아웃 83
4.1.2 스프링 부트 실행하기 84
4.2 정적 자원 관리 94
4.2.1 정적 자원 기본 설정 94
4.2.2 웹 리소스 폴더 설정 96
4.3 템플릿 엔진 100
4.3.1 타임리프 적용 101
4.3.2 타임리프 속성 102
4.4 WebJars를 이용한 프론트라이브러리 관리 108
4.4.1 WebJars 적용 109
4.4.2 인터셉터 활용 113

CHAPTER 5 REST API 서버 만들기 · 117
5.1 REST 119
5.1.1 REST의 특성과 규칙 119
5.2 리소스 121
5.2.1 리소스의 구분 121
5.3 REST API 만들기 122
5.3.1 REST 컨트롤러 활용 122
5.3.2 REST API에서 HTTP Method 사용 125
5.3.3 스프링에서 URI 템플릿 활용 127
5.4 HATEOS를 이용한 자기주소정보 표현 128
5.4.1 HATEOS를 이용한 URI 정보 표현 129
5.5 REST API 문서화 131
5.5.1 swagger 설정 및 라이브러리 추가 131
5.5.2 컨트롤러 URL 경로 설정 133
5.5.3 HTTP 메서드별 확인 134
5.5.4 파라미터 검증 136
5.6 REST 클라이언트 개발 137
5.6.1 RestTemplate 137
5.6.2 UriComponentsBuilder 활용 139
5.6.3 HTTP 메서드별 RestTemplate 메서드 명세 141

CHAPTER 6 스프링 부트와 데이터 · 149
6.1 데이터베이스 프로그래밍 151
6.1.1 프로젝트 구성 151
6.2 ORM 도구의 활용 152
6.2.1 Spring Data JPA 153
6.2.2 데이터베이스와 객체 매핑 156
6.2.3 연관 관계 163
6.3 QueryDSL을 이용한 Type Safe한 쿼리 작성 172
6.3.1 QueryDSL 설정 172
6.3.2 QueryDslRepositorySupport 활용 176
6.4 쿼리 매퍼 182
6.4.1 MyBatis 182
6.4.2 MyBatis를 이용한 쿼리 실행 186
6.4.3 명시적인 DataSource 지정 193
6.5 데이터베이스 서버와 연동 195
6.5.1 MariaDB 설치 195
6.5.2 MariaDB client 도구를 이용한 서버 접속 197
6.6 Database Connection pool 설정 199
6.6.1 HikariCP 200
6.6.2 MyBatis와 MariaDB 연동 205
6.7 MyBatis의 고급 기능 활용 208
6.7.1 selectKey 208
6.7.2 동적 쿼리 태그 216

CHAPTER 7 커스텀 스프링 부트 스타터 · 221
7.1 어노테이션 223
7.1.1 어노테이션 만들기 223
7.1.2 스프링 부트 어노테이션 226
7.2 스프링 부트의 구성 요소 238
7.2.1 스프링 부트 모듈 238
7.3 스프링 부트 스타터 만들기 243
7.3.1 스타터 개발 환경 구축 244

CHAPTER 8 예외 처리 및 테스트 · 249
8.1 자바 예외 처리 251
8.1.1 throw와 throws 구문 활용 251
8.2 Validation 활용 253
8.2.1 필드에 validation 적용 257
8.3 예외 처리를 위한 ControllerAdvice 259
8.3.1 Controller에 대한 예외 처리 259
8.4 데이터베이스 예외 처리 264
8.4.1 트랜잭션 264
8.4.2 PlatformTransactionManager 265
8.5 스프링 부트 테스트 269
8.5.1 데이터베이스 연동 테스트 269
8.5.2 통합 테스트 274

CHAPTER 9 배포 · 281
9.1 빌드 283
9.1.1 Runnable JAR 283
9.2 웹 서비스를 위한 배포 288
9.2.1 클라우드 서비스에 배포 288

CHAPTER 10 모니터링 · 299
10.1 액추에이터 301
10.1.1 액추에이터 적용 301
10.1.2 지표 정보 활용 303
10.1.3 기본 설정 변경 307
10.2 JMX와 JConsole을 이용한 모니터링 308
10.2.1 JConsole 308

CHAPTER 11 캐시 · 311
11.1 캐시의 유형 313
11.1.1 위치에 따른 캐시 구분 313
11.1.2 유형에 따른 구분 314
11.1.3 캐시 데이터 저장 방식 314
11.2 스프링 캐시 315
11.2.1 캐시 적용을 위한 기본 예제 316
11.2.2 스프링 캐시 활용 322
11.3 Jcache 활용 328
11.3.1 Jcache 구조 및 설정 329
11.3.2 Jcache 객체 생성 및 실행 330
11.4 Ehcache 활용 332
11.4.1 Ehcache 설정 332
11.4.2 Ehcache 사용 333
11.4.3 커스텀 키 생성 및 적용 335

CHAPTER 12 회원 관리 · 341
12.1 스프링 시큐리티 343
12.1.1 인증과 인가 343
12.1.2 스프링 시큐리티 설정 345
12.2 페이지 구성 348
12.2.1 의존성 설정 348
12.2.2 타임리프 레이아웃 구성 349
12.3 회원가입 355
12.3.1 접근 경로 설정 355
12.3.2 사용자 정보와 회원가입 페이지 개발 356
12.4 로그인 366
12.4.1 회원정보 조회 366
12.4.2 Remember Me 368

APPENDIX A 인텔리제이를 이용한 예제 프로젝트 실행 방법 · 375
A.1 개발 도구 활용 방법 377
A.1.1 인텔리제이 설치 377
A.1.2 기본 프로젝트 생성 378
A.2 Lombok 및 Annotation processing 설정 382

찾아보기 386

책 속으로

클래스 로더에는 네 가지 유형이 있다. 부트스트랩 클래스 로더(bootstrap class loader), 확장 클래스 로더(extension class loader), 시스템 클래스 로더(system class loader) 그리고 개발자가 만든 사용자 정의 클래스 로더(user-defined class loader)가 있다.
_7쪽

세션(session) 서버와 클라이언트의 유효한 커넥션을 식별하는 정보다. 그래서 서버는 클라이언트가 요청을 보내면 요청을 식별할 수 있는 ID를 부여하는데, 이 ID가 세션 ID다. 세션 I... 더보기

출판사 서평

자바 기반의 웹 서비스를 가장 쉽고 빠르게 배운다!
서블릿부터 Spring Data JPA, Rest API, 액추에이터를 활용한 모니터링, 클라우드 서비스를 이용한 배포까지

시중에는 자바 웹 개발자를 위한 스프링과 JSP 관련 서적이 많이 나와 있긴 하지만, 입문자가 끝까지 따라 할 만한 책은 많지 않습니다. 이 책은 독자들이 자바 기반의 웹 서비스를 만들거나 공부할 때 가장 쉽게 따라 할 수 있도록 집필되었습니다. 자바 웹 개발 환경에 대한 기초 설명과 개발에 필요한 필수 기술을 다루며, 나아가 모니터링 및 헤로쿠를 이용... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트 적립은 작성 후 다음 날 혹은 해당 도서 출고 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

교환/반품/품절안내

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

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기+

이 분야의 신간

더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품