메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

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

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

한빛미디어

번역서

판매중

  • 저자 : 토키 코헤이
  • 번역 : 김성훈
  • 출간 : 2024-03-29
  • 페이지 : 568 쪽
  • ISBN : 9791169212168
  • 물류코드 :11216
  • 초급 초중급 중급 중고급 고급
4.7점 (15명)
좋아요 : 10

현장에 필요한 스프링 기본기 구축과 자바 실력 레벨업을 동시에!

* 최신 버전 스프링 프레임워크 기반 실습 제공
* 스프링 부트 3 포함

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

토키 코헤이 저자

토키 코헤이

대학에서 정보 공학을 전공했지만 졸업 후에는 캐주얼 숍에서 판매원으로 일하다가 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) 등이 있다.

 

[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 정의가 존재하는 이유
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 상품 주문 애플리케이션

그림과 실습으로 쉽게 익히는 최신 스프링 6 입문서

 

스프링은 초보자뿐만 아니라 현직 자바 개발자들도 완전히 이해하기 어려운 프레임워크입니다. 따라서 이 책은 [1부 기본편]과 [2부 실무편]으로 나누어 누구나 쉽게 스프링의 내부 동작을 이해하고 실제 개발 현장에서 바로 활용할 수 있도록 구성되었습니다. 친절한 그림과 설명으로 개념을 익히고, 각 장의 마지막에 제공되는 실습 과제에 도전하다 보면 스프링에 금방 익숙해질 수 있을 것입니다.

 

< [1부 기본편]에서 다루는 내용 >

  • 입문자가 놓치고 지나갈 수 있는 용어(예: SPA, 애너테이션 등)
  • 스프링의 전체적인 기능
  • 스프링의 기본 기능을 기반으로 한 예제

 

< [2부 실무편]에서 다루는 내용 >

  • 1부에서 다룬 기본 기능의 추가적인 사용법
  • 실제 개발 현장에서 쓸 수 있는 다양한 기능과 실무 스킬
  • JUnit을 사용한 테스트 자동화
  • 수강 신청 애플리케이션과 상품 주문 애플리케이션 구축 실습

 

== 이런 분들께 추천합니다 ==

  • 스프링이 아예 처음인 입문자
  • 스프링에 익숙해지고 싶은 초급~중급 자바 개발자

책은  스프링6 비기너를 위한 책인데.

책에 나와 있는 예제와  제공되는 소스간에 매칭이 잘 되지 않습니다.

책에 예제에 해당 예제가 소스 어디 예제 인지 명시해 줬으면 합니다. 

그래야 예제를 좀 더  코딩해 보고 실행해 볼 수 있어  스프링을 익히는데 도움이 될 것 같습니다.

책이 그림들과 도표들, 그리고 코드들이 자세히 적혀 있어서 스프링에 대한 지식이 전무하더라도 쉽게 읽을 수 있는 책이다. 기초부터 매우 자세히 알려주기 때문에 JAVA를 이미 알고 있다는 가정하에 나같이 초보자도 쉽게 따라갈 수 있다. 하지만 API나 웹에 대한 더 자세한 부분들은 이미 알고 있다고 가정하에 설명하기 때문에 기초지식은 조금 필요할 듯 싶다. 이해하기 좋고 부록도 잘 써져 있어서 스프링을 개발하면서 계속 옆에 두고 읽을 책이다

스프링 대표 강의로 손꼽히는 김영한 님의 스프링 강의는 그 자체로도 훌륭하지만 입문자들에게는 살짝 난해할 수도 있다고 생각한다. 사실 내가 그랬다. 강의를 본 후에도 애매했던 부분이 있었는데, 이 책을 통해 복기하니 어려웠던 개념에 대해 쉽게 이해할 수 있었다. 

나와 같은 입문자들에게 추천한다.

스프링 프레임워크로 업무를 진행하면서 해마다 관련 책을 읽어보곤 하는데 이번에  "그림으로 배우는 스프링6 입문" 을 읽어보게 되었습니다.

 

​스프링 프레임워크 관련 책은 많이 있지만 "그림으로 배우는 스프링 6 입문" 은 독특한 구성의 스프링 개념 및 스프링 프레임워크가 작동하는 방식을 배울 수 있는 책이라고 생각합니다.  
책의 난이도는 초보자가 보기에도 좋고 또한 스프링 프레임워크를 공부했으나 잘 이해가 되지 않는다면 "그림으로 배우는 스프링 6 입문" 을 읽어 보면서   스프링 프레임워크를 공부하면 좋을 것 같습니다.

 

​스프링 프레임워크는  공부하기 어렵고 개념을 잡기 어렵다고 생각하는데  "그림으로 배우는 스프링 6 입문" 책은 책의 처음부터 끝까지 그림과 소스 설명 들을 통해 스프링의 작동방식을 설명하고 있으며 쉽게 스프링의 기술을 어렵지 않게 쉽게 하나씩 습득할 수 있도록 구성되어 있습니다.

 

​이 책은 2부. 32장. 부록으로 구성되어 있는데 
1부에는 스프링의 기본을 2부에는 스프링의 실무 기술을 설명하고 있습니다. 
각 장은 스프링 프레임워크의 하나의 기술을 설명하고 있으며 실무편에서는 1부의 스프링 기본의 기술을 업그레이드 하거나 업무에서 활용할 수 있는 기술을 설명하고 있습니다. 업무에 주로 사용하는 기능 위주의 설명으로 되어 있어서 실무편은 꼭 읽어보기를 권합니다.  

 

이 책의 장점은 
1. 이해하기 쉬운 내용 
- 스프링의 기본 개념을 그림과 소스 코드로 쉽게 이해할 수 있습니다. 
2. 여러 방식에 대한 설명 
- 각 기술에 대한 여러 방식을 설명하고 있고 그중에서 추천하는 방식을 설명하고 있어서 기본 내용 및 기술의 장점 단점을 이해하고 선택할 수 있습니다. 
예를들어 Bean 방식에서 스테레오타입 애너테이션 방식, @Bean 메서드, <bean> 태그들을 설명하고 있으며 스프링 데이터베이스 접근 방식에서는 다른 라이브러리와의 연동, 스프링 데이터 연동, 스프링 JDBC 를 설명하고 해당 기술이 어떤건지 어떤기술을 선택할 수 있는지 그리고 실무편에서 해당 기술을 실무에서 어떻게 활용할 수 있는지 확인할 수 있습니다. 
3. 기술에 대한 흐름을 이해 
- 각 기술이 어떤 방식으로 설정하고 어떤 흐름으로 작동하는지 그림을 통해 이해할 수 있으며 그 흐름으로 개발을 한다면 큰 문제없이 프로젝트에서도 활용할 수 있도록 되어 있습니다. 
클래스 흐름, 시퀀스 흐름 등 여러 그림을 통해 스프링 프레임워크의 기술을 쉽게 이해 할 수 있도록 쓰여 있습니다.

 

이 책의 단점은 
코딩을 통해 스프링 프레임워크를 공부하는 책은 아니라고 생각됩니다. 프로젝트나 소스 코드를 통한 학습을 원한다면 다른 스프링 책을 선택하는게 좋을 것 같습니다.

 

​끝으로 "그림으로 배우는 스프링 6 입문" 책을 읽어볼 사람은 스프링 프레임워크를 처음 공부하는 초급자 , 스프링 프레임워크에 작동방식 및 여러가지 옵션, 설정을 이해하려는 개발자, 스프링 프레임워크를 공부하고 잘 이해가 되지 않은 개발자 등이 읽어보면 좋을 것 같습니다. 
그리고 스프링 프레임워크를 업무적으로 사용 한다면 한번은 읽어보면 좋을것 같습니다. 
그냥 소스 코드를 보며 복사 붙여넣기 하는 개발을 하는게 아니라 왜 이렇게 개발을 하는지 "그림으로 배우는 스프링6 입문" 책을 통해 이해할 수 있다고 생각합니다.  

 

​ "그림으로 배우는 스프링 6 입문" 책 어렵지 않습니다. 쉽게 빠르게 학습할 수 있는 책 입니다. 
스프링 프레임워크를 공부하거나 업무에 활용한다면 꼭 읽어보기를 추천합니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 

《그림으로 배우는 스프링 6 입문》(토키 코헤이 지음, 김성훈 옮김, 한빛미디어, 2024)은 스프링 프레임워크를 기초부터 실무까지 단계적으로 배울 수 있는 책입니다. 실용적인 예제인 상품 주문, 수강 신청 애플케이션을 만들어보며, 다양한 그림을 통하여 스프링의 핵심적인 기능의 이해를 도와줍니다.

 



책은 스프링을 단계적으로 이해할 수 있도록 '기본편'과 '실무편', 부족한 부분을 보충할 수 있는 '부록편'으로 3부로 나누어 구성되어 있습니다. 기본편에서는 스프링의 기능을 전반적으로 파악하는 것을 목적으로 하며, 초심자가 봐도 이해하기 쉬운 내용으로 되어 있습니다. 실무편에서는 스프링의 좀 더 자세한 부분을 배우며, 개발 현장에서 필요한 노하우와 스킬을 배울 수 있습니다.

 

 


 

다음은 《그림으로 배우는 스프링 6 입문》이 가진 장점입니다. 

 

 스프링의 핵심을 그림으로 제공하여, 초보자도 이해할 수 있습니다.

 단계별로 만들어 가는 탄탄한 실습으로 실제 개발에 익숙해질 수 있습니다.

단위 테스트부터 통합 테스트까지 자세하게 다뤄, 테스트 코드 작성에 도움이 되었습니다. 

 부족한 부분을 채울 수 있는 부록을 제공하여 유용했습니다. 
 

 

 

책은 자바를 배우고 난 뒤 이제 막 스프링 학습에 걸음마를 뗀 사람부터 스프링의 핵심을 자세히 배우고 싶은 개발자, 실무에서 유용한 팁을 배우고 싶은 중급 개발자에게 유용할 것이라 생각합니다. 다만 전제 지식(자바, 웹, DB, SQL 등)이 있다면 막힘없이 읽을 수 있기 때문에,  다른 책과 강의로 전제 지식을 공부하는 것을 추천합니다.

 

 

스프링을 배울 때 자세한 부분까지 모두 학습하려고 하면 

오히려 핵심을 놓치게 되고 흥미를 잃어 학습을 지속하지 못할 가능성이 높다.

《그림으로 배우는 스프링 6 입문》, 기본편

 

 

저자의 오랜 교육 경험으로 인해 스프링의 방대한 내용을 압축해서, 실무에 필요한 부분을 배울 수 있어 좋았습니다.

특히 인상적이었던 부분은 스레드 세이프, DB 접근 시 예외 처리였습니다. 문제가 있는 코드를 먼저 설명한 후에 코드를 개선해 나가면서 개념에 대한 이해뿐만 아니라 실무에서 활용할 수 있는 노하우를 얻을 수 있었습니다.

 

스프링을 다룬 다른 책들과 다르게 스프링의 개념부터 RESTful 웹 서비스를 만들어보는 것을 넘어 테스트를 자세히 다루는데, JUnit를 사용한 테스트의 자동화에도 많은 페이지를 할애하고 있어 기능 개발뿐만이 아니라 테스트 프로그램의 작성 능력도 몸에 익힐 수 있습니다. 특히, Selenide(Selenium WebDriver로 구동되는 테스트 자동화를 위한 프레임워크)을 활용하여 UI 테스트를 하는 방법을 알려줘 유용했습니다.

 

다만 1부인 기본편을 자세히 읽지 않는다면, 2부인 실무편을 제대로 이해하지 못할 것 같았습니다. 실무편부터는 난이도가 갑자기 올라가는 느낌이며, 저자의 경험과 노하우로 초보 개발자를 숙련자로 성장시킬 수 있도록 개발 현장에 필수적인 내용인 치명적인 버그를 예방할 수 있는 방법부터 테스트까지 아낌없이 알려줍니다.

 

스프링의 기초를 그림으로 쉽게 설명한 기본편과 부록을 꼼꼼하게 읽어서 탄탄하게 갖추고, 개발 현장에서 유용할 팁을 배울 수 있는 실무편을 따라 하면서 진정한 스프링 개발자가 되고 싶다면 이 책을 추천합니다. 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

가볍게 시작했으나, 가장 무겁게 끝난 스프링 책

얼마 후, KSUG (한국 스프링 사용자 그룹) 행사도 있고 스프링을 늘 사용하기에 가벼운 마음으로 읽기 시작했으나, 2주 동안 책 한 권에 사로잡혔다. 보통의 입문서라 하면, 개발도구를 설치하고, DI / AOP 를 설명한 후, 저술하는 시기에 가장 최근의 예시로 웹페이지를 로딩하거나 웹 서비스 응답 예시를 들면서 절반 이상을 채우고 나머지는 결국 스프링 공식 문서을 참조해야 하는 경우가 많다. 그러나 이 책의 구성에 놀라지 않을 수 없었다. 이번 리뷰는 왜 이 책을 보는데 2주라는 꽤 긴 시간이 소요되었는가에 대한 이야기로 풀어본다.

 

 

우선, 많은 챕터다. 스프링이라는 것이 태초에 수 많은 기능을 담아낸 하나의 프레임워크 생태계라고 할 수 있는데, 보통의 입문서와는 다르게 스프링에 대한 많은 부분을 책 하나에 담으려는 저자의 노력이 보였다. 목차에 챕터가 무려 32 + 1 (부록) 이며, 19페이지에 달한다. 저자는 무슨 생각이었을까 싶다가 원 저자가 '일본인' 이름이라는 걸 보게 된 순간, '메뉴얼의 나라 일본'이라는 생각에 납득을 했다. 챕터 하나 하나에 개발자가 스프링을 쓰면서 알아야 할 내용을 빠짐 없이 기록하고 담아 내겠다는 저자의 의지가 보였다. 그러니 단순히 몇 페이지로 구성된 챕터라고 하더라도 그 안에 학습하게 되는 내용과 별도로 학습자가 찾아봐야 하는 내용들이 많았다. 궁금해하지 않을 수 없는 가이드 형식의 내용으로 챕터가 구성되있기 때문이다.

그렇게 많은 챕터로 인해 부실하지 않을까 생각이 들 수 있지만, 내용은 어떠한 책보다 자연스럽게 시간 순으로 설명한다. 대부분의 책이 저자가 생각하는 임의의 방법으로 독자가 이해하도록 구성하는데, 이 책은 책 내용에 진입하기 전, '일러두기' 사전 챕터를 통해 책의 전체를 통해 어떻게 설명할 것이고, 어떻게 표기할 것이고, 어떻게 그려나갈 것인지를 설명한다. 그리고는 1장부터 설명에 들어가는데, 놀라운 점은 사전에 약속된 표기법으로 그림과 도표를 나타내니 이해의 속도가 빠르고, 머릿 속에서 구조화하는데 매우 큰 도움이 되었다. 클래스간 관계, 인터페이스 구조, 프로그램의 흐름이 사전에 약속된 방식으로 그려지니 굳이 텍스트로 길게 설명하지 않아도 되는 내용들이 간결하고 명확하게 정리되어 있다.

또한 챕터에서 소개되는 내용이 현재 이렇게 사용된다. 그대로 따라하면 된다를 벗어나 이전 버전에서는 어떻게 구성되어 있었고, 현재까지 지나온 과정을 통해, 현 시점에서 이렇게 설정하거나 변경되었다는 많은 히스토리를 한 번에 보여준다. 많은 개발자들이 특정 기능을 설정해야 하거나 도입해야 할 때, 검색을 통해 내용을 접하면 이미 지난 설정 방법이거나 예시 코드, 또는 문제가 있어 사용하지 않는 코드까지 적용해보고 안되서 고생하는 경우가 많은데, 이 책은 그러한 과정과 발전된 상태까지 언급하고 보여주고 해결과정까지 보여주면서, 지금까지 본 그 어떤 스프링 책보다 저자의 스프링에 대한 이해가 높다고 여겨진다.

단점으로는 일본어로 된 책을 다시 한국어로 번역해서 그러한지 '무슨 말이지?' 싶은 단어 번역이 일부 보이는데, 이상하다 싶어 사전을 찾아 역행해보면 아 이런 뜻으로 번역된거구나 하는 부분이 있었다. 틀린 단어도 아니고, 알고나면 이해되는 문제 없거나 오히려 더 나은 단어 번역이지만, 업계에서 흔히 사용되어 편해진 용어가 아니기에 이 책을 통해 처음 접한 용어가 낯선 느낌이 드는 것도 사실이다.

이 책은 스프링 입문서지만, 스프링과 스프링을 통한 웹개발/웹서비스 개발에 필요한 내용들, 테스트, 시큐리티 내용이 알차게 담겨있다. 매 챕터에 해당 기술의 히스토리와 폭 넓은 설명은 독자로 하여금 이해의 스펙트럼을 넓혀주지만, 그렇게 제시된 내용을 필히 학습자가 추가 검색이나 메뉴얼 참고를 통해 학습해야 한다. 시간이 걸리더라도 꼭 !! 하기 바란다. 내가 책 제목을 다시 정할 수 있다면, '스프링 3,4,5,6 마스터' 라고 정하지 않았을까 싶다.

저자 토키 코헤이 Kouhei Toki 가 궁금하여 찾아보니, 일본의 엔지니어로서 스프링 3 시절부터 지금까지 입문서를 꾸준히 저술한 저자였다. 메뉴얼의 나라 일본 엔지니어가 제목은 입문 入門 이라 정했으나, 아는 지식을 잘 정리하여 담아낸 책이다. 많이 안다고 자부하던 나 역시 이렇게 잘 정리된 책을 본 적 없고, 너무나 잘 정리되어 있다보니 마지막 장을 덮을 때까지 많은 시간을 투자할 수 밖에 없던 책이기에 추천한다.

 

저자는 500 페이지가 넘는 본문을 작성하고도 본인이 설명한 글을 입문자가 이해하지 못한 부분이 있을까 우려하여, 50 페이지가 넘는 부록 챕터를 책 말미에 넣어 못 다한 용어 설명을 끝내 다 담아냈다.

 

한달살기 말고 '한달에 한 권 읽기'를 통해 스프링 입문 1일 1챕터 학습하기에 매우 좋은 책이라 생각한다. 스터디 모집해볼까 싶다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


 

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

   ( 기본편 + 실무편, 스프링 부트3 )

  토키 코헤이 지음

  김성훈 옮김

 

 

저자가 얘기하는 것 처럼 "스프링을 사용하는데 필요한 코드를 공식 처럼" ...

예제를 그대로 적용해 보면서 사용 방법만 터득하여 개발을 진행하는 경우가 많습니다.

이 책은 스프링 초보자 뿐만 아니라, 이미 오랫동안 스프링을 이용한 개발을 많이 하였다 하더라도

알고 있는 내용일 수 있지만 다시금 되집고 더 깊이 알수 있는 경험을 주는 책이라고 생각합니다.

 

다만, 이 책을 학습하기 위해서는 저자가 얘기하는 것 처럼 사전 지식이 필요 합니다.

 

자바를 이용한 개발 경험과 SQL 에 대해서 알고 경험이 있으면 좋겠지만,  자바에 대한 기본 문법만 이라도 이해하고 있다면

이 책을 학습하면서 필요한 부분에 대해서는 다른 자료나 책을 통하여 이해 하면서 학습 할 수는 있습니다.

그리고, 객체 지향에 대한 기본 개념도 알면 좋을 것 같습니다. 

 

예제코드 다운 경로:

  https://github.com/hanbit/spring-6-introduction

 

[책 구성]

------------------------------------------------------------------------------------------------------------------------------

이 책은 크게 기본편과 실무편으로 나누고 있습니다.

기본 편은 총 14개의 장으로 구성되어 있고, 실무편도 총 14개의 장으로 구성되어 있습니다.

기본 편이라고 해서 자바에 대한 문법 관련 내용은 없기 때문에 사전 지식에서 저자가 얘기한 것 처럼

자바 기본 문법은 학습이 필요하며, 기본적인 객체지향에 대한 이해도 있으면 스프링에 대한 구조 등을

이해하기에 좋을 것 같습니다.

책에서는 개념이나 구조에 대해 설명 할 때 UML 이용하여 설명하고 있습니다.

그래서 책 초입에 책 학습에 필요한 최소한의 UML에 대해서 설명 하고 있습니다.

 

 

기본편,

    1장, 스프링 개요

    2장, 웹 어플리케이션 개요

    3장, DI의 개념

    4장, DI 컨테이너

    5장, 스테레오타입 애너테이션

    6장, 프로파일로 설정 전환하기

    7장, JavaConfig와 @Bean 메서드

    8장, 스프링 JDBC: 데이터베이스 접근

    9장, 선언적 트랜잭션

  10장, 스프링 부트로 생산성 향상하기

  11장, 스프링 MVC + Thymeleaf

  12장, RESTful 웹 서비스 만들기

  13장, 갱신 계열 REST API 만들기

  14장, 스프링 시큐리티

 

실무편,

  15장, 싱글톤과 스레드 세이프

  16장, 스프링 JDBC: JOIN 결과 가져오기

  17장, 데이터베이스 접근 시 예외 처리

  18장, 트랜잭션 전파

  19장, 세션 스코프

  20장, 플래시 스코프

  21장, Security Context 활용

  22장, RESTful 웹 서비스 호출

  23장, 프로퍼티 외부화

  24장, 자동 테스트와 스프링의 테스트 지원

  25장, Repository 단위 테스트

  26장, Service 단위 테스트

  27장, Service-Repository 통합 테스트

  28장, Controller 단위 테스트

 

기본편에서 프로젝트 생성 부터 스프링 프로젝트 생성에 필요한 기본 내용들을 학습하고 이를 기반으로 실무편에서

실제 실무에 적용하여 사용할 수 있는 기능 또는 라이브러리 사용 위주로 학습 할 수 있습니다.

그리고 실무편에서는 프로젝트에 대한 테스 관련 부분이 5개의 장을 통하여 그 종류와 방법들에 대해서 설명하고 있습니다.

특히 테스트 관련 부분은 여러 프로젝트에 적용할 수 있는 부분이기에 많은 도움이 될 것 같습니다.

 

각, 장 마지막에 실습 과제에 대해서 표시되어 있는데, 다운 받은 예제 코드에 포함되어 있는 프로젝트 이름이며,

각 장에서 설명한 내용에 대한 예제 코드이기 때문에 학습한 부분에 대해서 상기 시키면서 실습 해볼 수 있습니다.

 

 

 

[결론]

------------------------------------------------------------------------------------------------------------------------------

이 책은 자바 스프링 프레임워크에 대한 책 입니다.

스프링 개념에 대해서 다이어그램과 적절한 코드를 통하여 접근하기 쉽게 설명하고 있으며,

정확한 예제들을 통하여 실제 동작되는 코드들을 직접 실습해보면서 기본 부터 시작하여

실무에 적용 하는 방법과 개발 결과를 테스트 하는 방법 까지 학습 할 수 있는 책 입니다.

생소한 용어들이 있지만, 부담없이 학습할 수 있는 책이라 생각됩니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

스프링의 주요 개념들을 이해하기 쉽고 자세하게 설명한 책입니다.

간단한 리뷰는 아래 주소에 있습니다.

https://developer-as-job.tistory.com/39

책 제목 : 그림으로 배우는 스프링 6 입문
저자 : 토키 코헤이 (지은이),김성훈 (옮긴이)
출판사 : 한빛미디어

 

 

  • 이 책은 작가가 다이어그램을 활용하여 복잡한 개념을 쉽게 설명하는 스타일을 채택하고 있습니다. 이는 스프링의 복잡한 개념을 이해하는 데 도움이 됩니다. 하지만, 그림이라는 단어가 제가 생각했던 것이 아닌 다이어그램에 가까워서 책제목과 다르게 크게 와닿지는 않았습니다. "그림"이라는 용어가 아닌 "다이어그램"이라는 용어가 더 적합할 것 같습니다.
  • 책은 크게 [기본편]과 [실무편]으로 나뉘어져 있어, 각자의 수준에 맞게 공부할 수 있습니다. 
    [기본편]에서는 스프링의 기본적인 기능과 원리를 익히며, [실무편]에서는 수강 신청 애플리케이션과 상품 주문 애플리케이션을 직접 만들면서 배운 내용을 실습할 수 있는 기회를 제공하며, 실제 개발에 유용한 다양한 스킬을 배울 수 있습니다.
  • 그림과 함께하는 이 책은 스프링 입문자들에게는 개념을 쉽게 이해할 수 있는 좋은 기회가 되고, 경험이 있는 사람들에게는 실전에서 활용할 수 있는 실무 능력을 향상시킬 수 있습니다.


이전에는 그림을 잘 그려야 이모티콘도 그리고 출시하는 줄 알았는데

아무렇게나 그린듯 편안한 그림이 더 인기.

앱도 개발자, 코딩 좀 알아야 하는 것 같지만

생각보다 많은 사람들이 자체 개발앱을 이용하기도 하고

우리가 사용하던 무료앱이 광고로 돈을 벌거나, 유료로 전환되어 이용되기도 한다.

어플리케이션을 많이 사용하기는 하지만 어떻게 만들어지는지 궁금했던 차에 만난 ' 그림으로 배우는 스프링6 입문'이다.

사실 제목만 보고 관심이 생겨서 받아보았는데

내가 생각한 그림과 어플리케이션에서의 그림의 모습이 달라서 사실 처음에 접하고는 조금 당황한 것이 사실이다.

내가 생각한 그림이 그냥 말대로 그림이라면,

이 책에 나오는 그림은 소스를 표현한 것.

아무래도 IT 분야의 개발코드나 소스, 그 외에 다양한 것들을 접해지 못했던 사람들에게는 다소 낯설게 다가오기는 하겠다.

그러나 시작부터 기초로

스프링이 무엇인지 간략한 설명과 기능, 특징에 대한 설명을 시작으로

웹 애플리케이션에 제작에 관해 설명하고 자주 언급되는 용어들을 설명한다.

기초부터 탄탄하게 1부 기본편을 시작으로, 2부 실무편, 3부 부록으로 구성되어 있다.

스프링 부트로 생상성 향상하기, 스프링 시큐리티 외에

실무에 싱글톤과 스레드 세이프와 같이 개발 현장에서 필수적인 내용을 설명한다.

부록을 통해 초보자가 어려워하는용어를 설명한 다음, 제 애플래케이션의 개요를 설명하고 있어

초반 기본부터 마지막 장 부록까지 꼼꼼하게 읽고 보다보면 익숙하지 않았던 단어들이 반복되고, 내가 생각했던 그림이 아닌 그림들도 슬슬 눈에 들어오게 될거다.

​부록을 통해 자주 언급되는 단어의 주석도 쉽게 찾아볼 수 있고.

예제로 사용된 애플리케이션을 통해 활용할 수 있다.

상업적인 상용화가 아니라도 스마트폰을 사용하며 여러 애플리케이션을 사용하는 유저로서 '나도 나의 필요에 의해 만들어보고 싶다'고 생각했던 탓에 이 책이 흥미로웠고

에러나가 나면 화내기 일쑤였던 다분히 다혈질적인 앱 유저로서, 아 이런 버그.....이런 에러는 이렇게 나타나는구나 하고 살펴볼 수 있어 개발자들의 애환도 알 수 있었다.

사실 전공자가 아니면 보자마자 머리가 아프고

사실 이런 책을 찾아보지도 않을테지.

그렇지만 자주 보다보면 자주 언급되는 단어가 반갑고

개발자가 되겠다는 부푼꿈이 없는 독자라도 '기본'적인 용어를 습득하여 이전에는 미처 알지 못했던 IT관련 단어와 지식을 습득할 수 있는 기회가 되겠다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

자바 스프링 작년에 젓 입문 & 실무를 진행했었다, 개고생이었다.

10년이상 스프링을 다루어온 한 친구에게 물었다, 스프링 어떠냐구~

별로 좋아하진않는다하더라.

물론 대부분은 스프링 아주 좋다고 얘기하지만....

그리고는 전혀 몰라 환경 구축부터 프로젝트 준비까지 일일이 도움을 받았으며,

스프링의 동작원리나, 구동 흐름등을 도움을 받아 진행했으며, 이후 혼자 진행하면서도 이해하는게 결코 싶지않았다.

스프링만의 문제가 아니고, MVC가 대부분 그헐다.

그리고 1년후 본 스프링 입문서, 힘들게 도움받았던 내용이 간결하게 잘정리 되어있다.

콘트롤과 method가 어떻게 작동하는지도 잘설명되어있고, 간단한것 부터 하나씩 이해하기 싶도록 실습 코드도 잘되어있는것 같다.

특히나 고생했었던 API 구현과 호풀부분의 설명에 많은 페이지를 할애하여 그림으로 쉽게 설명해주고 있어, 어느정도 알고 있는 지금 봐도 정말 잘 정리되어있는것 같다.

 

 

모든 프로세스나 구조를 그림으로 쉽게 설명해주고있어, 첨부되는 코드나 설명의 이해가 더욱 쉬운것 같다.

한가지 아쉬운것은 내가 사용했던 쿼리연결방법이 다르다는것뿐.

그럼에도 스프링의 입문서로 이만한 교재는 없을것 같다,

자바를위한 back-end를 준비하는 모든 이에게 적극 권한다.

이번에 리뷰할 서적은 한빛미디어에서 출판된 "그림으로 배우는 스프링 6 입문" 입니다.
최신의 스프링6에 대해 기본기와 실무스킬을 배울 수 있는 백엔드 개발자에게 꼭 필요한 지식만 담은 도서 입니다.
아래는 각 파트의 주요 내용을 간략하게 정리한 것입니다.

1장 스프링 개요
스프링 프레임워크의 입구에 해당하는 부분입니다. 
스프링이 무엇이며 어떤 프로젝트들이 있는지 소개해주어 전체적인 윤곽을 잡아갈 수 있습니다. 
스프링이 등장한 배경과 인기 비결도 알려주어 호기심을 자극합니다.

2장 웹 애플리케이션 개요  
본격적인 스프링 학습에 앞서 웹 애플리케이션에 대한 기본 지식부터 차근차근 다집니다. 
MPA, SPA 등 아키텍처 모델과 프로그램의 역할, 처리 흐름 등을 그림과 함께 친절히 설명해주어 체계적으로 이해할 수 있습니다.

3-5장 DI의 개념, DI 컨테이너, 스테레오타입 애너테이션
스프링의 핵심 원리인 DI(Dependency Injection)에 대해 심도 있게 파헤칩니다. 
DI가 무엇인지, 어떻게 활용하는지를 실제 코드 예제와 함께 꼼꼼히 알려줍니다. 
DI 컨테이너, 스테레오타입 애너테이션도 자세히 다루고 있습니다.

6-7장 프로파일과 JavaConfig  
실무에서 다양한 환경별로 설정을 전환해야 하는데, 프로파일 기능을 통해 이를 손쉽게 구현할 수 있습니다. 
JavaConfig와 @Bean 애너테이션을 활용한 설정 방식도 익혀 개발 생산성을 높일 수 있습니다.

8-9장 데이터베이스 연동과 트랜잭션
웹 애플리케이션 개발에서 가장 핵심적인 데이터베이스 연동 기술을 JDBC와 JdbcTemplate을 통해 실습해봅니다. 
또한 트랜잭션 관리 방법도 자세히 설명하고 있어 안전한 데이터 운영이 가능해집니다.

10장 스프링 부트
최근 스프링 부트가 각광받는 이유도 알 수 있습니다. 
자동 설정과 내장 웹 서버 등 기능을 통해 개발 생산성이 비약적으로 높아지는 것을 실감할 수 있습니다.

11-14장 웹 개발 주요 기술
MVC, Thymeleaf 템플릿 엔진, RESTful 웹서비스, 스프링 시큐리티까지 웹 개발의 중심 기술들을 모두 다룹니다. 
실습 예제와 함께 차근차근 안내해주어 본격적인 웹 애플리케이션 개발 역량을 기를 수 있습니다.

15-21장 핵심 개념 강화
싱글톤과 스레드 안전성, JOIN 결과 다루기, 예외 처리, 트랜잭션 전파, 세션/플래시 스코프 등 웹 개발의 주옥같은 개념들을 소화할 수 있습니다. 
견실한 애플리케이션을 만들기 위한 필수 요소들입니다.

22-23장 고급 활용 기술
외부 RESTful 웹서비스 호출, 프로퍼티 외부화 등 실무에서 자주 사용되는 기술들을 실습해볼 수 있습니다. 
이론과 실전을 통해 전문성을 한층 높일 수 있습니다.

24-32장 완성도 높은 테스트  
단위 테스트에서부터 통합 테스트, E2E 테스트까지 모든 수준의 테스트 작성법을 자세히 다룹니다. 
스프링의 테스트 지원 기능도 활용해보며 안전하고 견고한 애플리케이션을 만들 수 있는 기반을 다집니다.

부록
트랜잭션, 예외, 로그, 데이터 구조, HTTP 등 웹 개발 전반에 필요한 기초 지식을 꼭꼭 정리해두었습니다. 
실무 프로젝트 사례도 함께 제공되어 실전 감각도 기를 수 있습니다.

각 장마다 복잡하고 어려운 개념도 친절한 그림 예시와 상세한 설명으로 차근차근 이해할 수 있게 안내해줍니다. 
한 발 한 발 내딛는 과정에서 점점 스프링 프레임워크의 전체 그림이 그려지는 것을 느끼실 수 있을 것입니다.

분량이 다소 많고 기술적인 깊이도 있어 스프링 입문자들에게는 처음에 부담이 될 수 있습니다. 
하지만 꾸준히 읽다 보면 나중에는 고수가 될 것이라 믿어 의심치 않습니다. 
이 책 한 권으로 스프링의 모든 것을 배우는 진기명기한 경험을 꼭 해보시기 바랍니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

스프링6기반의 새로운 책이 출간되었습니다.

참고로 책의 내용안에는 10장. 스프링부트로 생산성 향상하기 부분이 있지만 대부분 스프링에 대해서 세부적으로 설명되어 집니다.

책의 제목이 입문이라고 적혀있지만, 초급자분들도 대상이시지만 스프링을 조금 더 이론적으로 이해해고 싶으신 분들도 

많은 도움이 되는 내용으로 구성되었습니다.

 

 

책의 저자분은 일본저자 분이시고, 기존에도 다양한 스프링 버전의 책을 출간하시면서,

책의 표지도 비슷한 녹색 계열입니다. 꾸준히 스프링에 대해서 출간 및 번역이 이루어지는 것을 살펴볼수 있습니다.

 

 

이번에는 그림이 많이 들어가서 제목이 조금 변경된 것 같습니다.

책은 p.570 으로 두께가 적당히 있습니다.

 

 

 

책의 큰 구분은 기본편, 실무편으로 구성되어 있습니다.

목차를 살펴보시면, 현재 스프링에 대해서 살펴봐야 하는 깊이 있는 개념들이 잘 구성되어 있고

RESTful, 트랜잭션, Thymeleaf, 시큐리티 등등 필수적인 요소들이 잘 구성되어 있습니다.

 

 

 

 

■ 기본 개념 살펴보기

· DI, 컨테이너 및 기본으로 알아야 하는 3가지 인젝션 방식 (생성자, Setter, 필드) 등에 대해서 너무 무겁지 않게 하나하나 설명합니다.

 

개인적인 생각으로 일본인 저자분의 장점처럼 UML형태로 코드 기반으로 작성된 다이어그램은 그 의도를 명확히 설명하고 있습니다.

 

· JavaConfig와 @Bean 메소드를 활용한 방법

@Configuration, @Import, @Profile을 통한 다양한 설명을 통해서, 스프링에서 어떠한 경우에 사용을 해야 하는지 설명합니다.

 

· 처음부터 바로 JPA를 사용하는 방법하지 않고, 기본적으로 알아야 하는 JDBC를 통한 데이터베이스 접근

JDBC, JdbcTemplate를 통한 부분과 해당 조회한 데이타를 Entity객체로 변환해서 가져오는 필수적인 개념이 설명되어 집니다.

해당 부분은 기본적으로 DB를 통한 작업이 많은 스프링의 기본이여서, 핵심요소만 잘 정리되어 있습니다.

 

· 스프링 부트는 장점이 많은 부분을 간단하게 터치하고 설명합니다. 스프링의 학습이 잘 되어 있으면, 스프링 부트의 적용 및 활용은

자연스럽게 이루어지기 때문에 편하기 읽고 넘어가면 됩니다.

 

· 서버사이드의 작업을 위해서 화면 템플릿인 Thymeleaf를 사용한 내용으로 구성됩니다. 

RESTAPI구성을 위해서 get,post, put, delete등등 API를 만들기 위한 여러 케이스 들이 설명되어지고,

내용이 너무 길게 언급되지 않고, 실습 및 핵심만 바로바로 학습되는 예시와 설명으로 구성되어 집니다.

 

 

■ 실무편은 이책의 핵심요소가 많이 있습니다.

· 실제 심도있는 부분도 실무편에 아래와 같은 사항으로 구성되어 있습니다.

특히 테스트 부분에 대해서 많은 부분이 할애되어 있어서, 일반 스프링책에는 없는 관점으로 다양한 chapter를 구성하고 있습니다.

 

 

· 스프링은 기본적으로 싱글톤을 사용하는데, 싱글톤 처리 개념과 문제가 있는 코드를 개선하는 부분은 매우 중요한 개념이 

설명되어 지고 있다고 생각합니다.

 

· DB연동시 JDBC, MyBatis, JPA등 다양한 방식을 접근을 구성할수 있는데, 해당 부분에 대해서  오류처리를 정리하는 부분도

실무적으로 도움이 많이 되는 부분이고, 전체적으로 Error Handling하는 관점에서 좋은 개념설명이라고 생각이 듭니다.

 

 

■ 다양한 테스트 케이스를 예시로 들어주는 실습편 내용이 구성됩니다.

스프링을 사용하는 많은 이유가 있겠지만, 테스트가 다른 java프레임보다 용이하다는 점입니다.

python, node등을 비교대상으로 하는 부분은 아니지만, java를 기반으로 하는 프레임워크들이 많이 있었지만

지금 스프링이 대세가 되는 이유는 테스트 코드 작성이 용이하다는 점이  매우 큰 비중을 차지하는 부분이라고 생각합니다.

· 해당 책은 많은 부분이 테스트를 구성할때 필요한 내용이 많이 언급된 부분은 입문 책이라고 하지만, 그만큼 반대로 이해하면

테스트는 입문과정에서 매우 중요한 부분이라고 생각하는 것이 저자분이 입장이라고 생각됩니다.

 

· 단위테스트, 통합테슽, 및 E2E테스트가 언급되어 있어서 매우 좋았습니다.
 

필요한 어노테이션에 대해서 해당 그림으로 전반적인 flow를 살펴볼수 있습니다.

 

위 목차에서 언급한 부분처럼 각 Layer별로 단위테스트를 Repository, Service, Controller, RESTful등을 어떻게 접근해야 하는지

살펴보는 구성을 통해서, 테스트가 필요한 서비스 영역별로 필요한 부분을 선택적으로 적용해볼수 있습니다.

 

부록의 내용도, 기존에 오래돈 Legacy적인 부분 및 커맨드 부분등 스프링을 조금 다양하게 사용해본 저자분의 관점이 잘 정리되어 있어서

스프링을 잘 이해하고, 사용하기에 도움되는 부분이 많이 있습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

 

 

자바를 잘 알고 기본적인 웹의 흐름을 이해하고 있는 사람이 스프링을 활용한 제대로 된 서버 개발자로 입문 하고싶다 하면 이 책을 마음편히 접해서 읽어도 되겠다 싶을만큼 내용이 알차다. 특히 테스트 코드의 대한 내용이 아주 꽉차있어서 사실 이부분만 해도 책값 뽕뽑는거 아닐까 하는 생각이 든다.

물론 '바이블' 이라 일컫는 토비 스프링처럼 자바의 기초부터 아주 꼼꼼히 알려주는건 아니지만, 과유불급이라고 초심자 입장에서 너무 깊게 설명하면 오히려 머리 아프고 이해도 안되고 개발의 재미도 못느낀다. 그런점에서 이 도서는 그 밸런스를 적절하게 잘 잡은편이라 느껴진다. 책이 빨리 출간 된 것을 감안했을 때 디테일하게 스프링 부트 3.2에 대한 설명이 잘 녹아있는가? 하면 그렇지 못하지만 알아야 할 내용들은 알차게 나와있다.

애초에 제목부터 '입문' 이기 때문에 3.x에서 3.2로 업데이트되면서 어떻게 바뀌었고 내부 구조가 어떻게 되어있는가? 하는건 중요하지 않다. 이것은 입문 후 숙달되고나서 수준있는 개발자가 되면 스스로 알아보게 되어있다. 이 책의 중요한점은 최신 버전으로 세팅 했을 때 버전이 안맞아 책을 보고 따라 할 수 없는 그런 불상사가 발생하지 않는다는 점이고, 최신 버전의 스프링에선 이렇게 쓴다는 것을 빠르게 습득 할 수 있다는 점이다. 기껏 열심히 보고 따라쳤는데 내 문제가 아닌 환경 차이로 인해 에러가 발생하면 샘솟았던 공부욕도 팍 죽어버린다.

필자도 막상 프로젝트는 스프링부트 3.2를 썼지만 이것의 대한 활용과 이해를 제대로 하진 못했다 느꼈는데 이번 기회로 이 책을 완독하며 기초공사를 좀 더 튼튼하게 다져야겠다 하는 마음이 샘솟는다.

 

리뷰 전문은 다음의 링크를 확인해주세요
https://gunsight.tistory.com/45

복잡해 보이는 스프링의 세계를 그림과 함께 친절하게 탐험할 수 있다.
실제 예제를 통한 학습으로 스프링을 이용한 애플리케이션 개발 능력을 기를 수 있다.
이 책을 통해 스프링 학습의 장벽을 낮추고, 더 많은 개발자가 스프링의 세계로 자신 있게 첫발을 내딛을 수 있게 될 것이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

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

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
그림으로 배우는 스프링 6 입문
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
그림으로 배우는 스프링 6 입문
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
그림으로 배우는 스프링 6 입문
구입처*
구입일*
부가기호*
부가기호 안내

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

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

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

닫기

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

자료실

최근 본 책0