스프링 프레임워크의 역사와 전반적인 내용에 대해서 다룬 이론서 입니다.
스프링의 각 개념에 대해 설명하며, 왜? 에 초점을 맞춰
- 우리가 무엇을 공부하고 있는지,
- 왜 이 개념을 익혀야 하는지를 명확하게 짚고 있기 때문에
머리속에 정리하기 좋은 책입니다.
도식화도 잘되어 있어 개념 잡기에 좋습니다.
그림과 표로 쉽게 배우는 스프링 4 입문서!
스프링은 단순히 사용 방법만 익히는 것보다 아키텍처를 어떻게 이해하고 설계하는지가 더 중요합니다. 예제를 복사해 붙여넣는 식으로는 실제 개발에서 스프링을 제대로 활용할 수 없습니다. 이 책에서는 웹 애플리케이션의 기초를 다지고 스프링 코어를 살펴보며 클라우드 네이티브 입문까지 다룹니다. 이제 막 실무에 뛰어든 웹 애플리케이션 초급자나 개발 경험은 있지만 스프링은 사용해본 적 없는 분을 대상으로 가능한 한 쉽게 설명합니다.
대상 독자
CHAPTER 01 스프링과 웹 애플리케이션
1.1 스프링의 최신 정보
1.2 스프링과 웹 애플리케이션
1.3 애플리케이션 아키텍처
1.4 프레젠테이션 층의 역할
1.5 비즈니스 로직 층의 역할
1.6 데이터 액세스 층의 역할
1.7 웹 애플리케이션이 안고 있는 문제
1.8 스프링 개요
CHAPTER 02 스프링 DI
2.1 DI란?
2.2 DI를 사용할 곳
2.3 어노테이션을 이용한 DI
2.4 Bean 정의 파일을 이용한 DI
2.5 JavaConfig를 이용한 DI
2.6 ApplicationContext
2.7 스프링 로깅
2.8 스프링의 유닛 테스트
2.9 Bean 정의 파일의 프로파일 기능
2.10 생명 주기
CHAPTER 03 스프링 AOP
3.1 AOP란?
3.2 어노테이션을 이용한 AOP
3.3 JavaConfig를 이용한 AOP
3.4 Bean 정의 파일을 이용한 AOP
CHAPTER 04 데이터 액세스 층의 설계와 구현
4.1 데이터 액세스 층과 스프링
4.2 스프링 JDBC
4.3 Spring Data JPA
4.4 정리
CHAPTER 05 비즈니스 로직 층의 설계와 구현
5.1 트랜잭션이란?
5.2 트랜잭션 매니저
5.3 트랜잭션 기능의 사용법
5.4 정리
CHAPTER 06 프레젠테이션 층의 설계와 구현
6.1 스프링 MVC의 개요
6.2 환경 만들기와 동작 확인
6.3 예제 애플리케이션 개요
6.4 화면을 표시하는 컨트롤러
6.5 입력값을 받는 컨트롤러
6.6 그 밖의 기능
6.7 정리
CHAPTER 07 인증·인가
7.1 인증·인가와 프레임워크
7.2 인증·인가의 기본
7.3 스프링 시큐리티
7.4 스프링 시큐리티의 기본 구조
7.5 웹 애플리케이션과 인증
7.6 웹 애플리케이션과 인가(액세스 제어)
7.7 스프링 시큐리티의 연계 기능
7.8 시큐리티 공격 대책
7.9 정리
CHAPTER 08 ORM 연계 - 하이버네이트, JPA, MyBatis
8.1 하이버네이트와의 연계
8.2 JPA와의 연계
8.3 MyBatis와의 연계
8.4 정리
CHAPTER 09 캐시 추상 기능 - Spring Cache
9.1 ProductDaoImpl과 ProductServiceImpl, ProductSampleRun의 수정과 동작 확인
9.2 응용 편
CHAPTER 10 배치의 설계와 구현
10.1 배치
10.2 스프링 배치
10.3 예제로 알아보기
CHAPTER 11 클라우드 네이티브 입문
11.1 스프링 부트
11.2 PWS를 이용한 "Hello World!"
11.3 PWS에 로그인하기
11.4 PWS에 디플로이하고 실행해보기
11.5 정리
책을 마치며
개발자 선배가 후배에게 전하는 스프링 꿀팁!
<스프링3 입문>이 스프링4 버전으로 돌아왔습니다. <스프링3 입문>의 친절한 설명을 그대로 따르되 스프링4에 맞춰 내용을 더하고 다듬었습니다. 각 장의 주요 내용을 살펴보면 다음과 같습니다.
1장. 기초 지식 쌓기
스프링과 웹 애플리케이션에 대한 기초 지식을 알아봅니다. 스프링에 대한 자세한 설명보다는 스프링 및 웹 애플리케이션 개발에 중요한 애플리케이션 아키텍처를 살펴봅니다. 초심자에게는 필수입니다.
2~3장. 스프링 코어 살펴보기
2장에서는 스프링 코어의 하나인 DI를 살펴봅니다. DI의 개요를 설명하고 스프링에서 DI를 어떻게 이용하는지, 그 특징과 사용법을 이해할 수 있습니다. 3장에서는 스프링 코어의 또 다른 부분인 AOP를 알아봅니다. 2장과 3장을 끝까지 읽으면 DI와 AOP를 사용해서 어떻게 웹 애플리케이션을 만들어가는지 그 골격을 이해할 수 있습니다.
4~6장. 데이터 액세스 층, 비즈니스 로직 층, 프레젠테이션 층 이해하기
4~6장에 걸쳐 데이터 액세스 층, 비즈니스 로직 층, 프레젠테이션 층을 살펴봅니다.
먼저 4장에서 데이터 액세스 층의 설계상 문제점과 해결책을 알아본 다음, 스프링 JDBC와 스프링 Data JPA를 살펴봅니다. 스프링 JDBC와 스프링 Data JPA의 이점 및 사용법을 이해할 수 있을 것입니다.
5장에서는 트랜잭션이란 무엇인지를 살펴본 다음, 스프링의 트랜잭션 기능을 알아봅니다. 선언적 트랜잭션과 명시적 트랜잭션을 이해하는 것이 목표입니다.
6장에서는 스프링의 MVC 프레임워크를 샘플 애플리케이션을 통해 설명합니다. 주류로 자리매김한 REST 통신 등도 해보면서 MVC 프레임워크를 구성하는 기본적인 클래스의 이용 방법을 알아봅니다. 어떤 의미에서는 웹 애플리케이션의 핵심이라고 말할 수도 있는 프레젠테이션 층의 기술을 충분히 이해할 수 있을 것입니다.
7장. 스프링 시큐리티를 사용해 인증·인가 기능 구현하기
웹 애플리케이션에는 반드시 필요한 동시에, 그 중요성에 비해서는 이해하고 있는 사람이 적다고 생각되는 인증·인가 기능을 설명합니다. 기본적인 개념부터 시작해서 웹 애플리케이션에 스프링 시큐리티를 도입해서 인증·인가 기능을 구현하는 방법까지 알아봅니다.
8장. 하이버네이트, JPA, MyBatis와 연계하는 방법 알아보기
대표적인 ORM 데이터 액세스 기술인 하이버네이트, JPA, MyBatis와 연계하는 방법을 알아봅니다. 이 장을 마치면 ORM 단독으로 사용하는 것보다는 스프링과 연계하는 편이 좋다는 점을 알수 있으며, 각각의 ORM에 대한 특징을 이해해서 실제 현장에서 무엇이 최적인가를 판단할 수 있을 것입니다.
9~10장. 스프링 캐시와 스프링 배치 알아보기
캐시는 웹 애플리케이션을 만들 때에 의외로 많이 사용되는 기술입니다. 9장에서는 스프링 캐시를 이해하기 위해 샘플을 준비해서 간략하게 설명합니다. 웹 애플리케이션에서 캐시를 어떻게 사용하면 좋은지 이해할 수 있습니다.
배치를 사용하지 않는 프로젝트는 없을 것입니다. 10장에서는 배치 처리의 기초를 설명하고, 스프링 배치에 대해 간단한 예부터 난이도가 높은 샘플까지 순서대로 알아봅니다. 배치는 무엇인지, 배치는 어떻게 만들어야 하는지를 알 수 있습니다.
11장. 스프링 부트로 클라우드 네이티브 맛보기
이 장의 내용을 이해한다면 최신 경향의 개발을 경험해봤다고 할 수 있습니다. 이 장에서는 클라우드 네이티브 입문으로서 스프링 부트에 대해 설명합니다. 최근 각광받는 마이크로서비스와 클라우드 네이티브란 어떤 것인지 체험할 수 있습니다.
샘 뉴먼
펠리페 구티에레스