logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

그림으로 배우는 스프링 6 입문

그림으로 배우는 스프링 6 입문

(애플리케이션을 직접 만들어보며 익히는 스프링 기본기와 실무 스킬)

토키 코헤이 (지은이), 김성훈 (옮긴이)
  |  
한빛미디어
2024-03-29
  |  
39,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 35,100원 -10% 0원 1,950원 33,150원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 31,200원 -10% 1560원 26,520원 >

책 이미지

그림으로 배우는 스프링 6 입문

책 정보

· 제목 : 그림으로 배우는 스프링 6 입문 (애플리케이션을 직접 만들어보며 익히는 스프링 기본기와 실무 스킬)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9791169212168
· 쪽수 : 568쪽

책 소개

스프링은 자바를 배울 때 보지 못했던 새로운 개념, 이해하기 어려운 용어가 많아 입문자가 배우기 어렵다. 하지만 이 책은 『스프링3 입문』과 『스프링4 입문』을 집필한 스프링 전문가인 저자가 오랜 스프링 교육 경험을 토대로 구상한 그림과 설명으로 구성되어 있기 때문에 누구나 쉽게 이해할 수 있다.

목차

[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) 등이 있다.
펼치기
김성훈 (옮긴이)    정보 더보기
주로 IT 관련 서적을 번역하는 번역가다. 주요 번역서로는 『따라 하며 배우는 언리얼 엔진 5 입문』(한빛미디어, 2024), 『그림으로 배우는 5G 네트워크』(영진닷컴, 2022), 『그림으로 이해하는 IT 지식과 트렌드』(길벗, 2021), 『파이썬으로 배우는 머신러닝 입문』(성안당, 2021), 『Scratch가 보이는 그림책』(성안당, 2020), 『C가 보이는 그림책』(성안당, 2018), 『실무에서 바로 통하는 자바』(한빛미디어, 2017), 『안드로이드 개발 레벨업 교과서』(위키북스, 2017), 『프로그래밍이 보이는 그림책』(성안당, 2017), 『24가지 예제로 배우는 게임 수학&물리 입문』(길벗, 2014), 『세가의 신입 사원 교육 과정에서 배우는 게임 프로그래밍의 정석』(한빛미디어, 2012), 『웹 개발자를 위한 웹을 지탱하는 기술』(멘토르, 2011) 등이 있다.
펼치기

책속에서



이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책