메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기
처음 배우는 스프링 부트 2

처음 배우는 스프링 부트 2

커뮤니티 게시판을 구현하며 배우는 입문부터 보안까지

한빛미디어

집필서

판매중

  • 저자 : 김영재
  • 출간 : 2018-10-01
  • 페이지 : 336 쪽
  • ISBN : 9791162241264
  • eISBN : 9791162249352
  • 물류코드 :10126
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4점 (16명)
좋아요 : 20

책소개

구현 순서에 맞춰 프로젝트를 진행하며 배우는 실전 입문서

 

이 책은 스프링 부트 입문자의 눈높이에 맞춰 스프링 부트 환경 설정부터 커뮤니티 게시판 구현까지를 다룹니다. 스프링 부트의 기본 개념과 다양한 스프링 부트 스타터를 이용해 커뮤니티 게시판 구축 프로젝트를 구현합니다. 스프링을 몰라도 공부할 수 있도록 가능한 한 쉽게 설명하고 따라 할 수 있게 예제 코드와 그림을 제시했습니다.

* 물론 자바를 사용할 줄은 알아야 합니다.

 

이 책의 구성

이 책은 1장과 2장에서 스프링 부트를 알아보고 개발 환경을 설치합니다. 3장부터 7장까지는 커뮤니티 사이트를 만듭니다. 이 과정에서 스프링 부트에서 제공하는 스타터를 사용하여 구현합니다. 해당 프로젝트를 어떠한 구조로 설계할지 어떠한 코드를 쓰는지 예제를 통해 알게 될 겁니다.

 

[ 1장 스프링 부트 입문하기 ]

스프링 부트의 다양한 스타터를 살펴보며 각 의존성과 부가 정보를 어떻게 확인하는지 알아봅니다. 이를 위해 스프링 부트 프로젝트의 특징을 이해하고 스프링 부트를 이용해서 어떻게 프로젝트를 구성하고 개발하는지 살펴봅니다.

 

[ 2장 스프링 부트 환경 설정 ]

스프링 부트 개발 환경을 구축합니다. JDK를 설치하고 인텔리제이 IDEA를 살펴봅니다. 아울러 그레이들(Gradle)로 빌드하고 멀티 프로젝트를 구성하여 공통 사용되는 코드를 재활용합니다. 이어서 1장에서 살펴보았던 분산된 의존성이 어떻게 하나로 모아져 자동 설정되는지도 알아보겠습니다.

 

[ 3장 스프링 부트 테스트 ]

기본적인 테스트 스타터를 알아봅니다. 스타터는 크게 두 가지 모듈로 구성됩니다. 하나는 spring-boot-test이고 다른 하나는 spring-boot-test-autoconfigure이며 테스트 관련 자동 설정 기능을 제공합니다. 보통은 spring-boot-starter-test로 두 모듈을 함께 사용합니다. 자주 사용하는 어노테이션도 살펴봅니다.

 

[ 4장 스프링 부트 웹 ]

스프링 부트 웹을 이용하여 커뮤니티 게시판을 만듭니다. 스프링 부트 웹은 주로 뷰 페이지나 API 용도로 사용합니다. 이 장에서는 커뮤니티 게시판의 뷰 페이지를 만드는 방법을 다루고 API는 7장에서 스프링 부트 데이터 레스트(REST)를 사용하여 다룹니다.

 

[ 5장 스프링 부트 시큐리티 + OAuth2 ]

스프링 부트 1.5 버전에서 지원하는 스프링 시큐리티와 OAuth2 API를 빠르고 쉽게 적용해봅니다. 2.0 버전부터는 스프링 시큐리티 내부에 OAuth2 API가 포함되었습니다. 두 가지 버전 모두 알아봅니다.

 

[ 6장 스프링 부트 데이터 레스트 ]

REST는 웹의 장점을 극대화하는 통신 네트워크 아키텍처입니다. REST API 개발을 기존의 MVC 패턴으로도 해보고, 스프링 부트 데이터 레스트를 사용하여 개발하며 어떻게 다른지 장단점을 비교합니다. 그 결과 제대로 REST API를 만드는 방법을 익히게 됩니다.

 

[ 7장 스프링 부트 배치 ]

스프링 부트 배치는 백엔드의 배치 처리 기능을 구현하는 데 사용하는 프레임워크입니다. 스프링 부트 배치를 간단히 소개하고, 스프링 부트 배치를 써야 하는 이유와 스프링 부트 배치 2.0에 강화된 기능에 대해 알아봅니다. 끝으로 휴면회원 전환 기능을 직접 개발해봅니다.

 

[ 부록 ]

스프링 부트로 개발하는 데 부가적으로 필요한 '코드 다이어트를 위한 롬복 프로젝트', '자동으로 LiveReload하는 devtools', '스프링 부트 빌드와 배포', '커스텀 배너 설정하기', '페이스북, 구글, 카카오 개발자센터 연동'을 다룹니다.

 

상세이미지.jpg

 

 

저자소개

김영재 저자

김영재

평범한 IT 연구원으로 무난하게 지내다가 교육 분야에 관심을 가지며 모바일 애플리케이션 ‘바로풀기’를 개발한 에듀테크 스타트업 바풀의 CTO가 되었다. 바풀이 네이버/LINE에 인수된 후 기술 전문 임원인 ‘펠로우’로 재직 중이다. 여러 프로덕션 조직을 이끌면서 업무 프로세스, 팀워크, 자동화, 아키텍처에 관심을 가지고 있다.

 

목차

CHAPTER 1 스프링 부트 입문하기

1.1 스프링 부트 소개

     1.1.1 스프링 부트 특징

     1.1.2 스프링 부트와 스프링

1.2 커뮤니티 게시판 기능 고안하기

1.3 스프링 부트로 커뮤니티 게시판 설계하기

1.4 스프링 부트 스타터 들여다보기

     1.4.1 스타터의 명명규칙 알아보기

     1.4.2 스타터 내부의 의존성 확인 방법

     1.4.3 스타터에 명시된 버전은 어떻게 확인할까?

     1.4.4 스프링 부트 버전에 따라 무엇이 다른지 어떻게 알 수 있을까?

     1.4.5 이 책에서 다룰 스타터

     1.4.6 스프링 부트 장단점

1.5 마치며

 

CHAPTER 2 스프링 부트 환경 설정

2.1 JDK 설치하기

2.2 인텔리제이 IDEA 사용하기

     2.2.1 커뮤니티 버전과 얼티미트 버전

     2.2.2 커뮤니티 버전에서 스프링 부트 사용하기

     2.2.3 얼티미트 버전에서 스프링 부트 사용하기

2.3 그레이들 설치 및 빌드하기

     2.3.1 그레이들 래퍼

     2.3.2 그레이들 멀티 프로젝트 구성하기

2.4 환경 프로퍼티 파일 설정하기

     2.4.1 프로파일에 따른 환경 구성 분리  

     2.4.2 YAML 파일 매핑하기

2.5 자동 환경 설정 이해하기

     2.5.1 자동 환경 설정 어노테이션

     2.5.2 @EnableAutoConfiguration 살펴보기

     2.5.3 자동 설정 어노테이션 살펴보기

     2.5.4 H2 Console 자동 설정 적용하기

2.6 마치며

 

CHAPTER 3 스프링 부트 테스트

3.1 @SpringBootTest

3.2 @WebMvcTest

3.3 @DataJpaTest

3.4 @RestClientTest

3.5 @JsonTest

3.6 마치며

 

CHAPTER 4 스프링 부트 웹

4.1 커뮤니티 게시판 설계하기

4.2 커뮤니티 게시판 프로젝트 준비하기

4.3 커뮤니티 게시판 구현하기

     4.3.1 프로젝트 의존성 구성

     4.3.2 스프링 부트 웹 스타터 살펴보기

     4.3.3 도메인 매핑하기

     4.3.4 도메인 테스트하기

     4.3.5 CommandLineRunner를 사용하여 DB에 데이터 넣기

     4.3.6 게시글 리스트 기능 만들기

     4.3.7 타임리프 자바 8 날짜 포맷 라이브러리 추가하기

     4.3.8 페이징 처리하기

     4.3.9 작성 폼 만들기

4.4 마치며

 

CHAPTER 5 스프링 부트 시큐리티 + OAuth2

5.1 배경지식 소개

     5.1.1 스프링 부트 시큐리티

     5.1.2 OAuth2

5.2 스프링 부트 시큐리티 + OAuth2 설계하기

5.3 스프링 부트 시큐리티 + OAuth2 의존성 설정하기

5.4 스프링 부트 시큐리티 + OAuth2 구현하기

     5.4.1 SNS 프로퍼티 설정 및 바인딩

     5.4.2 시큐리티 + OAuth2 설정하기

     5.4.3 어노테이션 기반으로 User 정보 불러오기

     5.4.4 인증 동작 확인하기

     5.4.5 페이지 권한 분리하기

5.5 스프링 부트 2.0 기반의 OAuth2 설정하기

     5.5.1 스프링 부트 2.0 버전으로 의존성 업그레이드

     5.5.2 스프링 부트 2.0 방식의 OAuth2 인증 재설정

5.6 마치며

 

CHAPTER 6 스프링 부트 데이터 레스트

6.1 배경지식

     6.1.1 REST 소개

     6.1.2 RESTful 제약 조건

     6.1.3 REST API 설계하기

6.2 설계하기

     6.2.1 MVC 패턴을 활용하는 방법

     6.2.2 스프링 부트 데이터 레스트를 활용하는 방법

6.3 스프링 부트 MVC 패턴으로 REST API 구현하기

     6.3.1 준비하기

     6.3.2 REST API 구현하기

     6.3.3 CORS 허용 및 시큐리티 설정

     6.3.4 생성, 수정, 삭제 구현

     6.3.5 동작 확인

6.4 스프링 부트 데이터 레스트로 REST API 구현하기

     6.4.1 준비하기

     6.4.2 기본 노출 전략 살펴보기

     6.4.3 스프링 부트 데이터 레스트로 REST API 구현하기

     6.4.4 @RepositoryRestController를 사용하여 REST API 구현하기

     6.4.5 생성, 수정, 삭제 연동 테스트

     6.4.6 프로젝션으로 노출 필드 제한하기

     6.4.7 각 메서드 권한 제한

     6.4.8 이벤트 바인딩

     6.4.9 URI 처리

     6.4.10 HAL 브라우저 적용하기

6.5 마무리

 

CHAPTER 7 스프링 부트 배치

7.1 배경지식

     7.1.1 배치 처리에 스프링 부트 배치를 써야 하는 이유

     7.1.2 스프링 부트 배치 2.0

     7.1.3 스프링 부트 배치 주의사항

7.2 스프링 부트 배치 이해하기

     7.2.1 Job

     7.2.2 Step

     7.2.3 JobRepository

     7.2.4 JobLauncher

     7.2.5 ItemReader

     7.2.6 ItemProcessor

     7.2.7 ItemWriter

7.3 스프링 부트 휴면회원 배치 설계하기

7.4 스프링 부트 배치 설정하기

7.5 스프링 부트 휴면회원 배치 구현하기

     7.5.1 휴면회원 배치 테스트 코드 생성

     7.5.2 휴면회원 배치 정보 설정

     7.5.3 SQL로 테스트 데이터 주입하기

7.6 스프링 배치 심화학습

     7.6.1 다양한 ItemReader 구현 클래스

     7.6.2 다양한 ItemWriter 구현 클래스

     7.6.3 JobParameter 사용하기

     7.6.4 테스트 시에만 H2 데이터베이스를 사용하도록 설정하기

     7.6.5 청크 지향 프로세싱

     7.6.6 배치의 인터셉터 Listener 설정하기

     7.6.7 어노테이션 기반으로 Listener 설정하기

     7.6.8 Step의 흐름을 제어하는 Flow

7.7 멀티 스레드로 여러 개의 Step 실행하기

     7.7.1 TaskExecutor를 사용해 여러 Step 동작시키기

     7.7.2 여러 개의 Flow 실행시키기

     7.7.3 파티셔닝을 사용한 병렬 프로그래밍

7.8 마무리

 

부록 A 코드 다이어트를 위한 롬복 프로젝트 

부록 B 자동으로 LiveReload하는 devtools 

부록 C 스프링 부트 빌드와 배포 

부록 D 커스텀 배너 설정하기 

부록 E 페이스북, 구글, 카카오 개발자센터 연동 

출판사리뷰

스프링 부트를 활용해 처음 개발을 시작하였을 때 이전보다 빠른 설정을 할 수 있어서 굉장히 만족했던 기억이 납니다. 그러나 간단히 사용할 수 있다 하여 스프링을 이해하지 않고 적용할 수 있는 것은 아니었습니다. 특수 상황에서는 스프링 부트의 자동 설정 효과를 보지 못할 수도 있습니다. 그러나 스프링 부트가 왜 등장하였고 어떻게 개발되었는지 이해하면 대부분의 경우 장점이 많다는 것을 알게 됩니다. 아직 시작하지 않은 분이 있다면 이 책을 통해 스프링 부트 2를 접해보시길 추천드립니다.

- 장소현, 카카오페이 서버 개발자

 

스프링 3를 주로 사용하다가 요즘엔 스프링 부트를 사용하고 있습니다. 스프링 부트 덕분에 많이 편리해진 개발 환경에 놀라고 있습니다. 이 책은 스프링 부트의 최신 버전을 다루고 있으며, 꼭 필요한 필수적인 스프링 프로젝트(Web, Security, Batch)를 튜토리얼 형식으로 소개하고 있기 때문에 처음 접하는 분뿐만 아니라 기존 사용자에게도 좋은 책입니다. 모두 즐거운 개발 되세요!

- 한상곤, Favorie 서버 개발자

 

기존 스프링 환경을 사용하시는 분들께서 스프링 부트로 넘어가지 않는 이유로 2가지를 얘기합니다. 하나는 대규모 트래픽에서 버틸 수 있는가 하는 것이고, 다른 하나는 내가 모르는 설정이 되어 있는 것 아닌지 불안하다는 겁니다. 저자는 하루 2천만 이상의 PV가 발생하는 서비스를 스프링 부트로 개발하고 운영한 경험이 있습니다. 그 경험과 노하우가 이 책에 담겨 있다고 생각합니다. 그간 여러 가지 이유로 스프링 부트를 사용하지 못하셨던 분들에게 좋은 길잡이가 되리라 생각합니다.

- 이동욱, 우아한형제들 서버 개발자

 

2005년에 IT 서적을 2권 집필했고 최근에 다시 집필의 꿈을 꾸고 있습니다. 그런데 우연히 이 책의 베타리딩 기회를 얻게 되어 즐거웠고 새로운 의욕을 얻는 시간이었습니다. 지금은 모바일 SDK 개발 직무를 맡고 있지만 스프링 프레임워크 3.x ~ 4.x 시절에 느꼈던 스프링 프레임워크의 경험은 ‘스프링은 설정이 반이다’였습니다. 스프링 부트는 설정을 줄이고 컨테이너를 내장하여 최근 트랜드로 부상하고 있습니다. 이 책으로 스프링 프레임워크에서 스프링 부트로 넘어가는 발판을 마련해보시기 바랍니다.

- 김형구, 데브시스터즈 시니어 개발자

 

스프링 프레임워크를 처음 시작하시는 분들은 개발 환경 설정에서 많이 힘들어합니다. 스프링 부트는 개발 환경을 자동으로 구성해주고 개발을 빠르게 시작할 수 있게 도와줍니다. 요즘은 마이크로서비스 아키텍처로 빠른 개발을 하는 데 스프링 부트만한 것이 없다고 생각합니다. 이 책은 스프링 부트 2 최신 버전을 소개하고 있는데, 실무에 적합한 예제로 구성되어 있고, 메서드, 코드, 플로 설명이 쉽게 되어 있어 입문자도 부담 없이 쉽게 스프링을 접할 수 있을 겁니다. 스프링 부트를 처음 시작하시는 분들께 꼭 한번 읽어보시길 추천합니다.

- 이석곤, 엔컴 서버 개발자

독자리뷰

오탈자 보기

부록/예제소스

추천도서

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
처음 배우는 스프링 부트 2
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
처음 배우는 스프링 부트 2
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 배우는 스프링 부트 2
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?