본문으로 바로가기
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

스프링 교과서

기초부터 탄탄하게 배워서 바로 쓰는 스프링 입문


  • ISBN-13
    979-11-407-1011-9 (93000)
  • 출판사 / 임프린트
    ㈜도서출판 길벗 / 길벗
  • 정가
    33,000 원 확정정가
  • 발행일
    2024-05-31
  • 출간상태
    출간 예정
  • 저자
    로렌티우 스필카
  • 번역
    정성권
  • 메인주제어
    컴퓨터프로그래밍 / 소프트웨어공학
  • 추가주제어
    -
  • 키워드
    #컴퓨터프로그래밍 / 소프트웨어공학 #스프링 #스프링부트 #spring #springboot #컨텍스트 #추상화 #AOP #MVC #REST #애플리케이션 #웹개발 #웹 #웹사이트 #자바 #JAVA
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    183 * 235 mm, 464 Page

책소개

스프링 기초 이론부터 스프링 부트, 웹 애플리케이션 구현, 보안 강화, 리팩터링, 테스트까지

개발 전반의 내용을 책 한 권에 모두 담았다!

 

이 책의 최종 목표는 스프링을 다양한 예제를 천천히 따라 하며 배우고, 더불어 실무 감각을 높여 실전에 바로 적용하는 것이다. 이를 위해 1부에서는 기초를 배우고 2부에서는 주어진 실습으로 직접 웹 애플리케이션을 구현한다. 1부에서는 스프링의 기본 구성 요소인 스프링 컨텍스트와 스프링 애스팩트의 사용 방법을 학습한다. 책의 후반부에서 모든 스프링의 기능이 이러한 필수 구성 요소에 의존한다는 것을 알게 될 것이다. 2부에서는 실제로 자주 사용되는 스프링 기능으로 앱을 구현하는 방법을 학습한다. 그리고 스프링이 이러한 작업을 간단하고 쉽게 만들어준다는 것을 알게 될 것이다. 스프링 앱에서 구현한 기능에 대한 단위 테스트와 통합 테스트 작성 방법까지 다루고 있기에 이 한 권으로 개발 전반의 내용을 배울 수 있다. 꼭 배워야 할 개념들만 확실하게 담은 이 책으로 스프링에 쉽게 입문하고 실무에 바로 적용해 보자. 

목차

1부 기초

 

1장 현실 세계의 스프링 

1.1 마이크로서비스 아키텍처로 진화 

1.2 스프링 생태계 

__1.2.1 스프링 코어의 이해: 스프링 기초 

__1.2.2 스프링 데이터 액세스 기능을 사용한 앱 영속성 구현 

__1.2.3 웹 앱 개발을 위한 스프링 MVC 기능 

__1.2.4 스프링 테스트 기능 

__1.2.5 스프링 생태계의 프로젝트 

1.3 실제 시나리오에서 스프링 

__1.3.1 백엔드 앱 개발에서 스프링 사용 

__1.3.2 자동화 테스트 앱에서 스프링 사용 

__1.3.3 데스크톱 앱 개발에서 스프링 사용 

__1.3.4 모바일 앱에서 스프링 사용 

1.4 프레임워크를 사용하지 말아야 할 때 

__1.4.1 작게 만들어야 한다 

__1.4.2 보안에는 맞춤형 코드가 필요하다 

__1.4.3 기존의 과도한 맞춤화로 프레임워크가 실용적이지 못하다 

__1.4.4 프레임워크로 바꾸어도 이점이 없다 

1.5 이 책에서 배울 것 

1.6 요약 

 

2장 스프링 컨텍스트: 빈 정의 

2.1 메이븐 프로젝트 생성 

2.2 스프링 컨텍스트에 새로운 빈 추가 

__2.2.1 @Bean 애너테이션을 사용하여 스프링 컨텍스트에 빈 추가 

__2.2.2 스테레오타입 애너테이션으로 스프링 컨텍스트에 빈 추가 

__2.2.3 프로그래밍 방식으로 스프링 컨텍스트에 빈 추가 

2.3 요약 

 

3장 스프링 컨텍스트: 빈 작성 

3.1 구성 파일에서 정의된 빈 간 관계 구현 

__3.1.1 두 @Bean 메서드 간 직접 메서드를 호출하는 빈 작성 

__3.1.2 @Bean 메서드의 매개변수로 빈 와이어링하기 

3.2 @Autowired 애너테이션을 사용한 빈 주입 

__3.2.1 @Autowired로 클래스 필드를 이용한 값 주입 

__3.2.2 @Autowired를 사용하여 생성자로 값 주입 

__3.2.3 setter를 이용한 의존성 주입 사용 

3.3 순환 의존성 다루기 

3.4 스프링 컨텍스트에서 여러 빈 중 선택하기 

3.5 요약 

 

4장 스프링 컨텍스트: 추상화 

4.1 계약 정의를 위한 인터페이스 사용 

__4.1.1 구현 분리를 위해 인터페이스 사용 

__4.1.2 시나리오 요구 사항 

__4.1.3 프레임워크 없이 요구 사항 구현 

4.2 추상화와 함께 의존성 주입 

__4.2.1 스프링 컨텍스트에 포함될 객체 정하기 

__4.2.2 추상화에 대한 여러 구현체 중에서 오토와이어링할 것을 선택 

4.3 스테레오타입 애너테이션으로 객체의 책임에 집중 

4.4 요약 

 

5장 스프링 컨텍스트: 빈의 스코프 및 수명 주기 

5.1 싱글톤 빈 스코프 사용 

__5.1.1 싱글톤 빈의 작동 방식 

__5.1.2 실제 시나리오의 싱글톤 빈 

__5.1.3 즉시 및 지연 인스턴스 생성 방식 

5.2 프로토타입 빈 스코프 사용 

__5.2.1 프로토타입 빈의 동작 방식 

__5.2.2 실제 시나리오에서 프로토타입 빈 관리 

5.3 요약 

 

6장 스프링 AOP로 애스펙트 사용 

6.1 스프링에서 애스펙트 작동 방식 

6.2 스프링 AOP를 사용한 애스펙트 구현 

__6.2.1 간단한 애스펙트 구현 

__6.2.2 가로챈 메서드의 매개변수 및 반환 값 변경 

__6.2.3 애너테이션된 메서드 가로채기 

__6.2.4 사용 가능한 다른 어드바이스 애너테이션 

6.3 애스펙트 실행 체인 

6.4 요약 

 

2부 구현 

 

7장 스프링 부트와 스프링 MVC 이해 

7.1 웹 앱이란 

__7.1.1 웹 앱에 대한 일반적인 개요 

__7.1.2 스프링으로 웹 앱을 구현하는 다양한 방식 

__7.1.3 웹 앱 개발에서 서블릿 컨테이너 사용 

7.2 스프링 부트의 마법 

__7.2.1 프로젝트 초기화 서비스를 이용한 스프링 부트 프로젝트 생성 

__7.2.2 의존성 스타터를 사용한 의존성 관리 간소화 

__7.2.3 의존성에 기반을 둔 관례에 따라 autoconfiguration 사용 

7.3 스프링 MVC로 웹 앱 구현 

7.4 요약 

 

8장 스프링 부트와 스프링 MVC를 이용한 웹 앱 구현 

8.1 동적 뷰를 사용한 웹 앱 구현 

__8.1.1 HTTP 요청에서 데이터 얻기 

__8.1.2 클라이언트에서 서버로 데이터를 전송하려고 요청 매개변수 사용 

__8.1.3 경로 변수로 클라이언트에서 서버로 데이터 전송 

8.2 HTTP GET과 POST 메서드 사용 

8.3 요약 

 

9장 스프링 웹 스코프 

9.1 스프링 웹 앱에서 요청 스코프 사용 

9.2 스프링 웹 앱에서 세션 스코프 사용 

9.3 스프링 웹 앱에서 애플리케이션 스코프 사용 

9.4 요약 

 

10장 REST 서비스 구현 

10.1 REST 서비스를 이용한 앱 간 데이터 교환 

10.2 REST 엔드포인트 구현 

10.3 HTTP 응답 관리 

__10.3.1 객체를 응답 본문에 전송 

__10.3.2 응답 상태 및 헤더 설정 

__10.3.3 엔드포인트 수준에서 예외 관리 

10.4 요청 본문을 사용하여 클라이언트의 데이터 가져오기 

10.5 요약 

 

11장 REST 엔드포인트 사용 

11.1 스프링 클라우드 OpenFeign으로 REST 엔드포인트 호출 

11.2 RestTemplate으로 REST 엔드포인트 호출 

11.3 WebClient로 REST 엔드포인트 호출 

11.4 요약 

 

12장 스프링 앱에서 데이터 소스 사용 

12.1 데이터 소스 

12.2 JdbcTemplate으로 영속성 데이터 작업 

12.3 데이터 소스 구성을 사용자 정의 

__12.3.1 애플리케이션 프로퍼티 파일에서 데이터 소스 정의 

__12.3.2 사용자 정의 DataSource 빈 사용

12.4 요약 

 

13장 스프링 앱에서 트랜잭션 사용 

13.1 트랜잭션 

13.2 스프링에서 트랜잭션의 작동 방식 

13.3 스프링 앱에서 트랜잭션 사용 

13.4 요약 

 

14장 스프링 데이터로 데이터 영속성 구현 

14.1 스프링 데이터란 

14.2 스프링 데이터의 작동 방식 

14.3 스프링 데이터 JDBC 사용 

14.4 요약 

 

15장 스프링 앱 테스트 

15.1 올바른 테스트 작성 

15.2 스프링 앱에서 테스트 구현 

__15.2.1 단위 테스트 구현 

__15.2.2 통합 테스트 구현 

15.3 요약 

 

부록 A 

A.1 아키텍처 방식 

A.2 컨텍스트 구성에 XML 사용 

A.3 HTTP 기초 이해 

A.4 JSON 형식 사용 

A.5 MySQL 설치와 데이터베이스 생성 

A.6 권장 도구 

A.7 심화 학습용 추천 자료 

A.8 IntelliJ에서 예제 프로젝트 오픈 및 실행 

 

 

본문인용

-

서평

서비스를 개발하면서 경험하게 될 모든 요소들이 책에 잘 녹여져 있어 실제 상용 서비스를 개발하는 것과 유사한 간접 경험을 할 수 있습니다. 

장수백. 위대한 상상 CTO

 

이 책의 내용을 따라가다 보면, 독자는 스프링 관련 지식이 차곡차곡 쌓이는 것을 느낄 것입니다.

신정호, LGU+ 아이들나라 대표

 

스프링 입문을 원하거나 현대 스프링의 사용에 대해 알고자 하는 모든 이에게 큰 도움이 될 책입니다.

정윤진, 포커스미디어 CTO

 

스프링의 핵심 구성 요소를 명확히 설명하면서 실용적인 예시를 제공하여, 개발자들이 프로젝트에서 프레임워크의 강력한 기능을 활용할 수 있도록 돕습니다. 

정영준, AWS Container Specialist SA

 

복잡한 스프링 프레임워크를 처음 접하는 이들도 쉽게 이해할 수 있도록 설명한 이 책은, 생생한 예시와 체계적인 설명을 통해 웹 서비스 구축의 기초부터 고급 기술까지 이해하게 합니다.

김현수, 마이크로소프트 기술전략매니저

 

이 책은 스프링의 주요 개념을 명확하고 간결하게 설명하며, 실제 업무에 적용 가능한 실전 예제를 다루고 있어 초심자들이 일정 궤도로 빠르게 올라갈 수 있도록 돕습니다.

이정인, VMWare Tanzu 상무

 

최근의 IT 환경은 개발자 빌더분들이 중심이 되어 이끌어가고 있습니다. 『스프링 교과서』는 스프링의 핵심 원리, 기술, 개념을 체계적으로 다루고 있고, 입문부터 중급 개발자까지 쉽게 이해할 수 있도록 구성되어 있어 회사 교육용으로도 적합합니다.  

김상필, MongoDB 솔루션즈 아키텍트 매니저

 

엔지니어링 조직에서 스프링을 사용하여 애플리케이션을 개발하는 데 필요한 기본 개념과 고급 기술을 모두 다루고 있습니다. 

신영필, 쿠팡페이 CTO

저자소개

저자 : 로렌티우 스필카
엔다바(Endava)에서 전문 개발 리드이자 트레이너로 일하며 유럽, 미국, 아시아의 고객을 대상으로 하는 금융 시장 프로젝트의 개발을 이끌고 있다. 10년 이상의 경력이 있는 그는 고품질의 소프트웨어를 제공하는 것뿐만 아니라 지식을 공유하고 다른 이들의 역량 향상을 돕는 것이 중요하다고 믿는다. 이러한 신념은 그가 자바 기술 관련 코스를 설계하고 가르치며, 발표와 워크숍을 진행하도록 이끌었다. 트위터에서도 활동하는데 계정은 @laurspilca이다.
번역 : 정성권
마이크로서비스 아키텍처에 기반한 대규모 IoT 플랫폼(SmartThings) 구축과 13억 계정 플랫폼의 클라우드화를 리드했고, 미디어 플래폼의 MSA 전환 및 새로운 고객 주도형 서비스를 작게 시도하고 있다. 분산 시스템 설계와 클라우드 네이티브 개발, DevOps 활동, SRE, 개발 조직 문화에 주목해왔으며 100세 인생을 재미있게 보낼 프로그래밍과 소프트웨어 기술에 관심이 많다. 개인 시간에는 아이들과 게임이나 검도를 하고, 스쿠버 다이빙을 하며 시간을 보낸다. 『마이크로서비스 아키텍처 구축』을 번역했고, 『ABOUT .NET XML 웹 서비스』, 『PHP 웹 서버 구축하기』를 집필했다.
1990년 (주)도서출판 길벗으로 출발하여 ‘인터넷 무작정 따라하기’가 컴퓨터 부문 베스트셀러 1위를 기록하는 등 꾸준히 성장하며 컴퓨터/인터넷 분야뿐 아니라 경제/경영, 인문, 취미, 여행 등 다양한 분야로 영역을 넓혔습니다.
시나공, 무작정 따라하기, 스크린 영어회화 등의 대표 시리즈가 있습니다.
2000년에는 이지톡을 설립하고 어학분야에 새로운 바람을 불어 넣었습니다.(2019년에 ‘도서출판 길벗’과 통합)
상단으로 이동