전체상품목록 바로가기

본문 바로가기



현재 위치
  1. 컴퓨터/IT

[] [하나북]그림으로 배우는 스프링 6 입문 :애플리케이션을 직접 만들어보며 익히는 스프링 기본기와 실무 스킬

(해외배송 가능상품)
공급사 바로가기
기본 정보
상품명 [하나북]그림으로 배우는 스프링 6 입문 :애플리케이션을 직접 만들어보며 익히는 스프링 기본기와 실무 스킬
소비자가 39,000원
판매가 35,100원
모델 한빛미디어
국내·해외배송 국내배송
배송방법 택배
배송비 2,500원 (20,000원 이상 구매 시 무료)
SNS 상품홍보
SNS 상품홍보

개인결제창을 통한 결제 시 네이버 마일리지 적립 및 사용이 가능합니다.

상품 옵션
옵션 선택

(최소주문수량 1개 이상 / 최대주문수량 0개 이하)

사이즈 가이드

수량을 선택해주세요.

위 옵션선택 박스를 선택하시면 아래에 상품이 추가됩니다.

상품 목록
상품명 상품수 가격
[하나북]그림으로 배우는 스프링 6 입문 :애플리케이션을 직접 만들어보며 익히는 스프링 기본기와 실무 스킬 수량증가 수량감소 35100 (  )
총 상품금액(수량) : 0 (0개)

할인가가 적용된 최종 결제예정금액은 주문 시 확인할 수 있습니다.

바로구매하기예약주문 장바구니 담기 SOLD OUT 관심상품등록

이벤트

상품상세정보



▷ 책소개

스프링은 자바를 배울 때 보지 못했던 새로운 개념, 이해하기 어려운 용어가 많아 입문자가 배우기 어렵습니다. 하지만 이 책은 『스프링3 입문』과 『스프링4 입문』을 집필한 스프링 전문가인 저자가 오랜 스프링 교육 경험을 토대로 구상한 그림과 설명으로 구성되어 있기 때문에 누구나 쉽게 이해할 수 있습니다. 크게 [기본편]과 [실무편]으로 구분되는데, [기본편]에서는 스프링 6의 전반적인 기능과 원리, 실무편에서는 실제 개발 현장에서 유용한 각종 스킬을 배울 수 있습니다. 따라서 이제 막 자바를 알게 된 스프링 입문자에게도 유용하지만, 그동안 스프링을 제대로 이해하지 못한 채로 사용했던 자바 개발자에게도 코드 한 줄 한 줄이 어떻게 작동하는지 확실히 배울 수 있는 기회가 될 것입니다. 자바 17, 스프링 6를 비롯한 최신 버전의 소프트웨어로 〈수강 신청 애플리케이션〉과 〈상품 주문 애플리케이션〉을 직접 만들어보며 기본기와 실무 스킬을 다져보세요!

▷ 목차

[1부 기본편]

1장 스프링 개요
1.1 스프링이란?
1.2 스프링의 다양한 프로젝트
1.3 스프링 프레임워크 개요
1.4 스프링 시큐리티 개요
1.5 스프링 부트 개요
1.6 스프링의 탄생과 개발 조직
1.7 스프링이 인기 있는 이유

2장 웹 애플리케이션 개요
2.1 웹 애플리케이션이란?
2.2 MPA
2.3 SPA
2.4 프로그램의 역할
2.5 처리 흐름

3장 DI의 개념
3.1 DI란?
3.2 DI로 무엇을 할까?
3.3 DI 설명을 위한 클래스와 인터페이스 소개
3.4 객체를 준비하는 간편한 방법
3.5 DI 사용법
3.6 다시, DI란?
3.7 DI와 인터페이스
실습

4장 DI 컨테이너
4.1 외부에서 직접 객체를 준비할 때의 문제점
4.2 DI 컨테이너를 사용한 솔루션
4.3 DI 컨테이너 관련 기본 용어
4.4 JavaConfig에 설정 정보 작성하기
4.5 Bean 정의 작성하기

5장 스테레오타입 애너테이션
5.1 스테레오타입 애너테이션이란?
5.2 스테레오타입 애너테이션의 종류
5.3 인젝션 지시
5.4 컴포넌트 스캔
5.5 DI 컨테이너를 생성하고 Bean 가져오기
5.6 3가지 인젝션 방법
_5.6.1 생성자 인젝션
_5.6.2 Setter 인젝션
_5.6.3 필드 인젝션
5.7 같은 타입의 Bean이 여러 개 존재할 때 인젝션 방법
실습

6장 프로파일로 설정 전환하기
6.1 프로파일이란?
6.2 환경별 프로파일
6.3 프로파일 사용법
6.4 활성화할 프로파일 지정하기
실습

7장 JavaConfig와 @Bean 메서드
7.1 JavaConfig란?
7.2 여러 개의 JavaConfig 클래스 불러오기
_7.2.1 AnnotationConfigApplicationContext 클래스의 생성자 인수로 지정하기
_7.2.2 @Import로 가져오기
_7.2.3 컴포넌트 스캔하기
7.3 @Bean 메서드란?
7.4 인젝션
7.5 적절한 Bean 정의 방법 선택하기
7.6 〈bean〉 태그의 Bean 정의가 존재하는 이유
7.7 라이브러리의 클래스를 Bean으로 정의하기
7.8 JavaConfig와 프로파일
실습

8장 스프링 JDBC: 데이터베이스 접근
8.1 스프링과 데이터베이스 접근
_8.1.1 다른 라이브러리와의 연동
_8.1.2 스프링 데이터
_8.1.3 스프링 JDBC
8.2 자바와 데이터베이스 접근
8.3 스프링 JDBC란?
8.4 JDBC와 스프링 JDBC의 비교
8.5 스프링 JDBC의 활용 사례
8.6 JdbcTemplate 클래스
8.7 검색 계열 처리
_8.7.1 하나의 컬럼만 가져오기
_8.7.2 레코드를 Map 객체로 변환해서 가져오기
_8.7.3 레코드를 Entity 객체로 변환해서 가져오기
8.8 갱신 계열 처리
_8.8.1 INSERT 문
_8.8.2 UPDATE 문
_8.8.3 DELETE 문
8.9 JdbcTemplate 클래스의 Bean 정의
실습

9장 선언적 트랜잭션
9.1 트랜잭션이란?
9.2 웹 애플리케이션의 트랜잭션
9.3 트랜잭션과 커넥션
9.4 트랜잭션을 자체적으로 제어할 때의 문제점
9.5 스프링의 선언적 트랜잭션
9.6 트랜잭션의 내부 구조
9.7 PlatformTransactionManager의 구상 클래스
9.8 PlatformTransactionManager의 Bean 정의
9.9 @Transactional을 활성화하는 설정
9.10 로그 출력 방법
실습

10장 스프링 부트로 생산성 향상하기
10.1 라이브러리 준비하기
10.2 자동 설정
_10.2.1 자동 설정의 메커니즘
_10.2.2 자동 설정의 프로퍼티
10.3 내장 AP 서버
10.4 스프링 부트를 사용할 때 DI 컨테이너를 생성하는 방법
10.5 스프링 부트에서 오해하기 쉬운 것들
실습

11장 스프링 MVC + Thymeleaf
11.1 MVC란?
11.2 스프링 MVC란?
11.3 Thymeleaf란?
11.4 간단한 예제
_11.4.1 pom.xml 설정하기
_11.4.2 Controller 클래스 생성하기
_11.4.3 View 작성하기
_11.4.4 스프링 부트로 실행하기
_11.4.5 브라우저에서 확인하기
11.5 전체 처리 흐름
11.6 Service 객체 인젝션
11.7 핸들러 메서드와 @XxxMapping
11.8 요청 파라미터 가져오기
11.9 View에 데이터 전달하기
11.10 Thymeleaf로 데이터 참조하기
11.11 List 객체 참조하기
11.12 입력 화면과 입력 검사
11.13 Bean Validation을 이용한 입력 검사
11.14 입력 화면 표시 방법
11.15 입력 화면 템플릿 파일
11.16 입력 검사 방법
11.17 오류 문구 설정
11.18 요청 파라미터를 사용한 핸들러 메서드 호출
11.19 예외 핸들링
실습

12장 RESTful 웹 서비스 만들기
12.1 웹 서비스란?
12.2 최근의 개발 프로젝트와 웹 서비스
_12.2.1 SPA와 웹 서비스
_12.2.2 마이크로서비스와 웹 서비스
12.3 REST란?
12.4 REST의 규칙
_12.4.1 URL로 리소스 식별하기
_12.4.2 HTTP 메서드로 리소스 조작하기
_12.4.3 응답 바디의 데이터 형식
_12.4.4 요청 바디의 데이터 형식
_12.4.5 상태 코드 활용하기
_12.4.6 헤더 활용하기
_12.4.7 서버 측을 무상태로 만들기
12.5 스프링 MVC의 REST 지원
12.6 HTTP 메서드와 @XxxMapping
12.7 HttpMessageConverter로 요청/응답 데이터 변환하기
12.8 상태 코드 지정하기
12.9 요청 헤더 참조하기
12.10 응답 헤더 지정하기
12.11 참조 계열 REST API 만들기
실습

13장 갱신 계열 REST API 만들기
13.1 갱신 계열 HTTP 메서드
13.2 PUT의 요청과 응답
13.3 요청 바디 변환
13.4 PUT에 대응하는 핸들러 메서드
13.5 POST의 요청과 응답
13.6 POST에 대응하는 핸들러 메서드
13.7 DELETE의 요청과 응답
13.8 DELETE에 대응하는 핸들러 메서드
13.9 예외 발생 시 상태 코드 지정하기
실습

14장 스프링 시큐리티
14.1 인증과 인가
_14.1.1 인증이란?
_14.1.2 인가란?
14.2 스프링 시큐리티 인증의 개요
14.3 스프링 시큐리티 인가의 개요
14.4 스프링 시큐리티의 필터
14.5 시큐리티 필터 체인 설정하기
14.6 요청 인가
14.7 로그인 화면
14.8 인가 실패 시 오류 화면
14.9 인증용 데이터 가져오기
14.10 화면 표시 인가
14.11 인증한 사용자 정보를 화면에 표시하기
14.12 메서드 인가
14.13 CSRF 대응
14.14 스프링 시큐리티를 통한 CSRF 대응
실습


[2부 실무편]

15장 싱글톤과 스레드 세이프
15.1 싱글톤과 Bean
15.2 싱글톤과 스레드 세이프
15.3 스레드 세이프하지 않은 코드
15.4 스레드 세이프한 코드
15.5 Bean으로 관리하지 않는 객체
실습

16장 스프링 JDBC: JOIN 결과 가져오기
16.1 테이블 JOIN 예제
16.2 컬럼명 중복 문제
16.3 JOIN한 레코드 매핑하기
16.4 DataClassRowMapper의 단점
16.5 RowMapper 인터페이스로 해결하기
16.6 일대다 변환
16.7 ResultSetExtractor 인터페이스
16.8 실제 개발 프로젝트에 적용하기
실습

17장 데이터베이스 접근 시 예외 처리
17.1 데이터베이스 접근 방식과 예외 문제
17.2 범용 예외 클래스로 해결하기
17.3 DataAccessException 클래스의 대표적인 서브 클래스
17.4 DataAccessException 클래스의 처리 흐름
실습

18장 트랜잭션 전파
18.1 트랜잭션 전파란?
18.2 트랜잭션 전파 설정하기
18.3 REQUIRED의 동작
18.4 REQUIRED_NEW의 동작
18.5 REQUIRED_NEW가 필요한 상황
18.6 주의 사항
실습

19장 세션 스코프
19.1 세션 스코프란?
19.2 세션 스코프의 활용 사례
19.3 스프링 MVC와 세션 스코프
19.4 세션 스코프의 Bean
19.5 세션 스코프의 Proxy
19.6 세션 스코프의 Bean 정의
19.7 세션 스코프의 Bean 인젝션
19.8 세션 스코프의 Bean 조작
_19.8.1 사용자 입력 시 ReservationInput 객체를 저장한다
_19.8.2 신청 확정 시 ReservationInput 객체를 가져온다
_19.8.3 신청 완료 시 ReservationInput 객체를 삭제한다
19.9 여러 개의 Controller에서 세션 스코프 Bean 공유하기
실습

20장 플래시 스코프
20.1 갱신 처리 후 화면 표시
20.2 리다이렉트로 해결하기(PRG 패턴)
20.3 리다이렉트 출발지와 목적지의 데이터 공유
20.4 플래시 스코프로 해결하기
20.5 PRG 패턴과 플래시 스코프 적용하기
실습

21장 Security Context 활용
21.1 스프링 시큐리티의 필터
21.2 인증한 사용자의 정보와 Security Context
21.3 ThreadLocal과 Security Context
21.4 Controller의 핸들러 메서드 인수로 받기
21.5 HTML에 사용자 정보 삽입하기
21.6 SecurityContextHolder.getContext로 가져오기
실습

22장 RESTful 웹 서비스 호출
22.1 RestTemplate 클래스
22.2 RestTemplate과 HttpMessageConverter
22.3 RestTemplate 클래스의 주요 메서드
22.4 GET을 위한 메서드
22.5 POST를 위한 메서드
22.6 PUT을 위한 메서드
22.7 DELETE를 위한 메서드
22.8 RestTemplate 객체 준비하기
_22.8.1 DI 컨테이너를 사용하지 않는 경우
_22.8.2 DI 컨테이너를 사용하는 경우
22.9 RestTemplate 클래스
22.10 응답의 상세 데이터를 참조하는 경우
22.11 요청의 상세 데이터를 설정하는 경우
22.12 WebClient 클래스
실습

23장 프로퍼티 외부화
23.1 외부화한 프로퍼티를 설정하는 곳
23.2 프로퍼티 불러오기
23.3 application.properties와 프로파일
23.4 프로퍼티를 가져오는 방법
_23.4.1 @Value 사용법
_23.4.2 @ConfigurationProperties 사용법
실습

24장 자동 테스트와 스프링의 테스트 지원
24.1 수동 테스트와 자동 테스트
24.2 대표적인 자동 테스트
24.3 웹 애플리케이션과 자동 테스트 패턴
24.4 단위 테스트와 Mock
24.5 스프링의 테스트 지원 기능
24.6 DI 컨테이너를 생성하기 위한 애너테이션
24.7 테스트 클래스
24.8 JavaConfig 클래스를 자동으로 찾게 하기
24.9 테스트를 실행할 때만 불러오는 application.properties
실습

25장 Repository 단위 테스트
25.1 Repository 단위 테스트의 개요
25.2 DI 컨테이너를 생성하기 위한 애너테이션
25.3 DI 컨테이너 캐싱
25.4 데이터베이스에 데이터 준비하기
25.5 @Sql 애너테이션
25.6 데이터 정리
25.7 갱신 계열 처리 테스트
25.8 JdbcTemplate으로 데이터 확인하기
실습

26장 Service 단위 테스트
26.1 Service 단위 테스트의 개요
26.2 Mockito란?
26.3 Mockito를 사용한 Service 단위 테스트
26.4 Mockito와 static 임포트
26.5 Mock 객체에 동작 지정하기
26.6 Mock 객체의 메서드 인수 지정하기
26.7 여러 번 호출되는 Mock 객체의 메서드 지정하기
26.8 Mock 객체의 메서드 호출을 확인하는 어설션
26.9 Mock 객체의 메서드에 전달된 인자 확인하기
26.10 Mock을 사용한 테스트의 단점
실습

27장 Service·Repository 통합 테스트
27.1 Service·Repository 통합 테스트의 개요
27.2 DI 컨테이너를 생성하기 위한 애너테이션
27.3 데이터베이스에 데이터 준비하기
27.4 @Sql 애너테이션
27.5 데이터 정리
27.6 갱신 계열 처리 테스트
27.7 JdbcTemplate으로 데이터 확인하기
실습

28장 Controller 단위 테스트
28.1 Controller 단위 테스트의 개요
28.2 MockMvc란?
28.3 MockMvc 사용법
28.4 DI 컨테이너를 생성하기 위한 애너테이션
28.5 MockMvc와 static 임포트
28.6 요청 지정하기
28.7 응답 어설션
28.8 입력 검사 오류 어설션
28.9 디버깅을 위한 로그 출력
28.10 Mock 객체에 동작 지정하기
실습

29장 Controller·Service·Repository 통합 테스트
29.1 Controller·Service·Repository 통합 테스트의 개요
29.2 테스트 클래스
29.3 Controller에서 세션 스코프와 플래시 스코프를 사용한 테스트
실습

30장 RESTful 웹 서비스 테스트
30.1 RESTful 웹 서비스 테스트에 필요한 것들
30.2 Controller 단위 테스트
30.3 JSON 문자열 쉽게 생성하기
30.4 JSONPath를 사용하여 응답 확인하기
30.5 눈으로 JSON 문자열 확인하기
30.6 RESTful 웹 서비스 통합 테스트
_30.6.1 MockMvc를 사용한 통합 테스트
_30.6.2 내장 AP 서버를 사용한 통합 테스트
실습

31장 스프링 시큐리티의 테스트 지원
31.1 스프링 시큐리티의 테스트 지원 기능
31.2 MockMvc와 연동한 스프링 시큐리티의 테스트 지원 기능
31.3 인증한 사용자의 정보를 임의로 지정하기
31.4 CSRF 토큰 지정하기
31.5 애너테이션을 사용하는 기능
31.6 메서드의 인가 테스트
31.7 webEnvironment = WebEnvironment.NONE을 지정하지 않은 이유
31.8 TestRestTemplate을 사용한 테스트
실습

32장 Selenide를 사용한 E2E 테스트
32.1 E2E 테스트
32.2 Selenide란?
32.3 @SpringBootTest와 함께 사용하기
32.4 @Sql과 함께 사용하기
32.5 데이터 정리
32.6 Selenide와 static 임포트
32.7 브라우저 실행 방법
32.8 화면 요소 참조 방법
32.9 화면 요소의 검색 조건 지정하기
32.10 $와 $$의 차이점
32.11 화면 요소 조작하기
32.12 요소의 정보 가져오기
32.13 요소의 내용 어설션
32.14 Selenide를 사용한 테스트
실습


[3부 부록]

A.1 트랜잭션
A.2 AP 서버
A.3 인터페이스
A.4 커맨드라인 인수
A.5 애너테이션
A.6 DataSource
A.7 내장 DB
A.8 검사 예외와 비검사 예외
A.9 Map
A.10 ThreadLocal
A.11 로그 레벨과 로거
A.12 Maven
A.13 클래스 패스
A.14 템플릿 파일과 템플릿 엔진
A.15 HTTP 요청과 HTTP 응답의 데이터 구조
A.16 요청 파라미터
A.17 컨텍스트 패스
A.18 YAML
A.19 JSON
A.20 서블릿과 서블릿 필터
A.21 리다이렉트와 포워드
A.22 Serializable
A.23 JUnit
A.24 JSONPath
A.25 수강 신청 애플리케이션
A.26 상품 주문 애플리케이션

▷ 저자소개

토키 코헤이

(土岐 孝平)대학에서 정보 공학을 전공했지만 졸업 후에는 캐주얼 숍에서 판매원으로 일하다가 IT 업계에 합류했다. 2002년에 스프링의 창시자인 로드 존슨(Rod Johnson)의 책 『J2EE Design and Development』을 접하고 스프링의 팬이 되었다. 다양한 개발 프로젝트에 참여하며 비효율적인 개발 환경을 겪고 교육의 중요성을 통감했다. 이러한 이유로 2008년부터는 교육 분야에서 활동을 시작했다. 2012년에는 주식회사 현장지향(https://www.genba-oriented.com)을 설립해 스프링을 중심으로 한 교육 프로그램 강사로 활동 중이다. 저서로는 『OpenID Connect入門(OpenID Connect 입문)』(Kindle Direct Publishing, 2021), 『[改訂新版] Spring入門(스프링 입문 개정판)』(기술평론사, 2016), 『間違いだらけのソフトウェアㆍア?キテクチャ(오류 투성이 소프트웨어 아키텍처)』(기술평론사, 2010) 등이 있다.





상품결제정보

고액결제의 경우 안전을 위해 카드사에서 확인전화를 드릴 수도 있습니다. 확인과정에서 도난 카드의 사용이나 타인 명의의 주문등 정상적인 주문이 아니라고 판단될 경우 임의로 주문을 보류 또는 취소할 수 있습니다.  

무통장 입금은 상품 구매 대금은 PC뱅킹, 인터넷뱅킹, 텔레뱅킹 혹은 가까운 은행에서 직접 입금하시면 됩니다.  
주문시 입력한 입금자명과 실제입금자의 성명이 반드시 일치하여야 하며, 7일 이내로 입금을 하셔야 하며 입금되지 않은 주문은 자동취소 됩니다.

배송정보

  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 2,500원
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 : - 산간벽지나 도서지방은 별도의 추가금액을 지불하셔야 하는 경우가 있습니다.
    고객님께서 주문하신 상품은 입금 확인후 배송해 드립니다. 다만, 상품종류에 따라서 상품의 배송이 다소 지연될 수 있습니다.
    - 제주도 3000원/도서산간지역 7000원

교환 및 반품정보

교환 및 반품 주소
 - [10882] 경기도 파주시 산남로 85-10 (산남동) 하나북스퀘어
 
교환 및 반품이 가능한 경우
 - 계약내용에 관한 서면을 받은 날부터 7일. 단, 그 서면을 받은 때보다 재화등의 공급이 늦게 이루어진 경우에는 재화등을 공급받거나 재화등의 공급이 시작된 날부터 7일 이내
  - 공급받으신 상품 및 용역의 내용이 표시.광고 내용과 다르거나 계약내용과 다르게 이행된 때에는 당해 재화 등을 공급받은 날 부터 3월이내, 그사실을 알게 된 날 또는 알 수 있었던 날부터 30일이내
 
교환 및 반품이 불가능한 경우
 - 이용자에게 책임 있는 사유로 재화 등이 멸실 또는 훼손된 경우(다만, 재화 등의 내용을 확인하기 위하여 포장 등을 훼손한 경우에는 청약철회를 할 수 있습니다)
  - 이용자의 사용 또는 일부 소비에 의하여 재화 등의 가치가 현저히 감소한 경우
  - 시간의 경과에 의하여 재판매가 곤란할 정도로 재화등의 가치가 현저히 감소한 경우
  - 복제가 가능한 재화등의 포장을 훼손한 경우
  - 개별 주문 생산되는 재화 등 청약철회시 판매자에게 회복할 수 없는 피해가 예상되어 소비자의 사전 동의를 얻은 경우
  - 디지털 콘텐츠의 제공이 개시된 경우, (다만, 가분적 용역 또는 가분적 디지털콘텐츠로 구성된 계약의 경우 제공이 개시되지 아니한 부분은 청약철회를 할 수 있습니다.)
 
※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
 (색상 교환, 사이즈 교환 등 포함)

서비스문의

상품사용후기

상품의 사용후기를 적어주세요.

게시물이 없습니다

상품문의하기 모두 보기

상품 Q&A

상품에 대해 궁금한 점을 해결해 드립니다.

게시물이 없습니다

상품문의하기 모두 보기


네이버
리뷰이벤트

장바구니 0