배워서 바로 쓰는 스프링 프레임워크 (AOP, 보안, 메시징부터 스프링 웹 MVC까지 실용적인 | 실용적인 예제로 한눈에 알아보는 스프링 가이드)

배워서 바로 쓰는 스프링 프레임워크 (AOP, 보안, 메시징부터 스프링 웹 MVC까지 실용적인 | 실용적인 예제로 한눈에 알아보는 스프링 가이드)

$50.70
Description
88가지 단계별 프로젝트로 익히는 스프링 프레임워크
이 책은 스프링 5 기본과 개념, 최신 업데이트된 프레임워크 전반을 단계별로 접근합니다. IoC 컨테이너 같은 스프링 기초부터 스프링 데이터, 스프링 AOP, 스프링 메시징, 스프링 웹 MVC, 스트림 API, 스프링 시큐리티, RESTful 웹 서비스, 반응형 프로그래밍, 함수형 프로그래밍, RxJava 2, 스프링 웹플럭스, 리액터 등 고급 주제까지 다룹니다.

88가지 실전 프로젝트를 단계별로 학습하면 스프링을 처음 배우는 독자라도 실제 사례를 개념적으로 이해하며 해결책을 만들어볼 수 있습니다. 손으로 직접 따라 해보며 유지보수 및 테스트하기 좋은 애플리케이션을 개발해보세요.
저자

애시시사린

AshishSarin
썬공인엔터프라이즈아키텍트(SCEA)로서18년이상애플리케이션아키텍처를설계한경력이있다.『SpringRoo1.1Cookbook』(팩트,2017)과『PortletsinAction』(매닝,2011)의저자다.

목차

CHAPTER1스프링프레임워크소개
1.1소개
1.2스프링모듈
1.3스프링IoC컨테이너
1.4스프링의장점
1.5간단한스프링애플리케이션
1.6스프링5의새로운내용
1.7스프링에기반한프레임워크들
1.8요약

CHAPTER2스프링프레임워크기초
2.1소개
2.2‘인터페이스를사용하는프로그래밍’설계원칙
2.3정적팩토리메서드나인스턴스팩토리메서드를사용해빈만들기
2.4생성자기반DI
2.5설정정보를빈에전달하기
2.6빈스코프
2.7요약

CHAPTER3빈설정
3.1소개
3.2빈정의상속
3.3생성자인수매치하기
3.4다른타입의빈프로퍼티와생성자인수설정하기
3.5내장프로퍼티에디터
3.6스프링컨테이너에프로퍼티에디터등록하기
3.7이름공간으로빈정의를간결하게만들기
3.8util스키마
3.9FactoryBean인터페이스
3.10빈설정모듈화하기
3.11요약

CHAPTER4의존관계주입
4.1소개
4.2내부빈
4.3depends-on속성을통해빈초기화순서제어하기
4.4싱글턴과프로토타입스코프빈의의존관계
4.5싱글턴빈내부에서새로운프로토타입빈인스턴스얻기
4.6의존관계자동연결
4.7요약

CHAPTER5빈과빈정의커스텀화하기
5.1소개
5.2빈의초기화와정리로직커스텀화하기
5.3BeanPostProcessor를사용해새로생성된빈인스턴스와상호작용하기
5.4BeanFactoryPostProcessor를사용해빈정의변경하기
5.5요약

CHAPTER6애너테이션기반개발
6.1소개
6.2@Component-스프링빈식별하기
6.3@Autowired-객체의타입으로의존관계자동연결하기
6.4@Qualifier-빈이름으로의존관계자동연결하기
6.5JSR330@Inject와@Named애너테이션
6.6JSR250@Resource애너테이션
6.7@Scope,@Lazy,@DependsOn,@Primary애너테이션
6.8@Value애너테이션을사용해빈클래스설정하기
6.9스프링Validator인터페이스를사용해객체검증하기
6.10JSR380(빈검증2.0)애너테이션을사용해제약사항지정하기
6.11빈정의프로파일
6.12요약

CHAPTER7자바기반의컨테이너설정
7.1소개
7.2@Configuration과@Bean애너테이션으로빈설정하기
7.3빈의존관계주입하기
7.4스프링컨테이너설정하기
7.5생명주기콜백
7.6자바기반설정임포트하기
7.7다른주제들
7.8요약

CHAPTER8스프링을사용해데이터베이스와상호작용하기
8.1소개
8.2MyBank애플리케이션요구사항
8.3스프링JDBC모듈로MyBank애플리케이션개발하기
8.4하이버네이트로MyBank애플리케이션개발하기
8.5스프링을통한트랜잭션관리
8.6자바기반설정을사용하는MyBank애플리케이션개발하기
8.7요약

CHAPTER9스프링데이터
9.1소개
9.2핵심개념과인터페이스
9.3스프링데이터JPA
9.4Querydsl을사용해질의만들기
9.5예제를통한질의
9.6스프링데이터몽고DB
9.7요약

CHAPTER10스프링을사용한메시징,전자우편,비동기메시지실행,캐싱
10.1소개
10.2MyBank애플리케이션의요구사항
10.3JMS메시지보내기
10.4JMS메시지받기
10.5전자우편보내기
10.6작업스케줄링과비동기실행
10.7캐싱
10.8MyBank애플리케이션실행하기
10.9요약

CHAPTER11AOP
11.1소개
11.2간단한AOP예제
11.3스프링AOP프레임워크
11.4포인트컷식
11.5어드바이스유형
11.6스프링AOP-XML스키마스타일
11.7요약

CHAPTER12스프링웹MVC기초
12.1소개
12.2샘플웹프로젝트의디렉터리구조
12.3‘HelloWorld’애플리케이션이해하기
12.4DispatcherServlet-프론트컨트롤러
12.5@Controller와@RequestMapping을사용해컨트롤러개발하기
12.6MyBank웹애플리케이션요구사항
12.7스프링웹MVC애너테이션-@RequestMapping과@RequestParam
12.8검증
12.9@ExceptionHandler애너테이션으로예외처리하기
12.10루트웹애플리케이션컨텍스트XML파일(들)로드하기
12.11요약

CHAPTER13스프링웹MVC를활용한검증과데이터바인딩
13.1소개
13.2@ModelAttribute애너테이션을사용해모델추가하고가져오기
13.3@SessionAttribute애너테이션을사용해모델속성캐싱하기
13.4스프링의데이터바인딩지원
13.5스프링의검증지원
13.6스프링form태그라이브러리
13.7자바기반설정을사용해웹애플리케이션설정하기
13.8요약

CHAPTER14스프링웹MVC로RESTful웹서비스개발하기
14.1소개
14.2정기예금웹서비스
14.3스프링웹MVC를사용해RESTful웹서비스구현하기
14.4RestTemplate과WebClient로RESTful웹서비스에접근하기
14.5HttpMessageConverter로자바객체를HTTP요청이나응답으로변경하거나,반대방향으로변경하기
14.6@PathVariable과@MatrixVariable애너테이션
14.7요약

CHAPTER15스프링웹MVC더살펴보기
-국제화,파일업로드,비동기요청처리
15.1소개
15.2핸들러인터셉터를사용해요청을전처리/후처리하기
15.3자원번들을사용해국제화하기
15.4요청을비동기적으로처리하기
15.5타입변환과형식화지원
15.6스프링웹MVC의파일업로드지원
15.7요약

CHAPTER16스프링시큐리티를사용한애플리케이션보안
16.1소개
16.2MyBank웹애플리케이션의보안요구사항
16.3스프링시큐리티로MyBank웹애플리케이션보호하기
16.4MyBank웹애플리케이션-스프링시큐리티에ACL모듈을사용해FixedDepositDetails인스턴스보호하기
16.5자바기반설정방식을사용해스프링시큐리티설정하기
16.6요약

CHAPTER17자바함수형프로그래밍
17.1소개
17.2명령형스타일과함수형스타일비교
17.3람다식
17.4간단한함수와고차함수만들기
17.5StreamAPI
17.6메서드참조
17.7요약

CHAPTER18RxJava2를사용한반응형프로그래밍
18.1소개
18.2반응형스트림
18.3뜨거운출간자와차가운출간자
18.4배압
18.5요약

CHAPTER19스프링웹플럭스,스프링데이터,스프링시큐리티를사용해반응형RESTful웹서비스개발하기
19.1소개
19.2리액터와RxJava2에정의된반응형타입
19.3스프링데이터를사용해데이터접근레이어개발하기
19.4스프링웹플럭스를사용해웹레이어개발하기
19.5웹플럭스애플리케이션보호하기
19.6요약

부록A몽고DB데이터베이스설치하기
A.1몽고DB데이터베이스다운로드하고설치하기
A.2몽고DB데이터베이스에연결하기

부록B이클립스IDE에서예제프로젝트임포트하기
B.1이클립스IDE와톰캣9설치하기
B.2예제프로젝트를이클립스IDE로임포트하기
B.3이클립스IDE와톰캣9서버설정하기
B.4웹프로젝트를톰캣9서버에배포하기

부록C스프링부트2소개와스프링부트테스트
C.1들어가며
C.2스프링부트애플리케이션만들기
C.3스프링부트의동작
C.4MyBank애플리케이션개발-TDD를사용한웹API개발
C.5요약

출판사 서평

애플리케이션개발을위한구조를한번에익히는비법대방출
이책은스프링프레임워크의동작과구조를이해하고,여러분이원하는작업을XML,애너테이션,자바메서드호출을사용해달성하는방법을설명한다.따라서이책은스프링을배울때는물론,실무에서스프링을사용하며필요한부분을찾아보는참고서로도활용할수있다.

주요내용
● 스프링프레임워크기본
● 스프링DI와AOP
● 스프링데이터JPA
● 스프링웹MVC
● 스트림API
● 스프링웹플럭스
● 메시징,이메일,캐싱서포트
● 스프링과하이버네스트/JPA를사용한데이터베이스상호작용
● 스프링웹MVC를이용한RESTful웹서비스개발하기
● 람다식을이용한자바함수형프로그래밍
● RxJava2와리액터를사용한반응형프로그래밍
● 반응형RESTful웹서비스개발하기

1장.스프링프레임워크소개
스프링을이루는여러모듈을소개하고각각의장점을알아본다.스프링DI기능을사용하는간단한스프링애플리케이션을살펴보면서스프링및웹애플리케이션개발에중요한애플리케이션의아키텍처를이해한다.

2장.스프링프레임워크기초
스프링의기본개념을다룬다.‘인터페이스를사용하는프로그래밍’설계접근방법을살펴보고,빈인스턴스를만드는다양한접근방법과생성자기반DI,빈스코프에대해알아본다.스프링코어의하나인DI를살펴본다.DI의개요를설명하고스프링에서DI를어떻게이용하는지알아본후,그특징과사용법을이해한다.

3장.빈설정
빈설정방법을살펴본다.빈정의상속과스프링util스키마,p-이름공간과c-이름공간,FactoryBean인터페이스등을살펴본다.

4장.의존관계주입
스프링이다양한의존관계주입을어떻게처리하는지살펴본다.3에서는스프링컨테이너가빈인스턴스생성과의존관계주입을책임지는내용이나온다.

데이터액세스층의설계상문제점과해결책을알아본다음,스프링JDBC와스프링DataJPA를살펴본다.스프링JDBC와스프링DataJPA의이점및사용법을이해할수있다.

5장.빈과빈정의커스텀화하기
커스텀초기화와정리로직을빈인스턴스에추가하는방법을살펴본다.그리고BeanPostProcessor구현을사용해새로생성된빈인스턴스를변경하고,BeanFactoryPostProcessor를사용해빈정의를변경하는방법도알아본다.스프링은내부적으로BeanPostProcessor와BeanFactoryPostProcessor를사용해여러프레임워크기능을제공한다.

6장.애너테이션기반개발
스프링의애너테이션기반개발지원에대해살펴본다.애너테이션을사용해3,4,5장에서배운빈정의와똑같은정보를빈클래스에지정한다.이장을마치고나면XML파일에명시적으로빈을설정하는수고를덜수있다.

7장.자바기반컨테이너설정
프로그램코드로스프링컨테이너를설정하고,컨테이너에빈을등록하는방법을살펴본다.이장을마치고나면애플리케이션개발에서XML이나자바애너테이션,자바기반컨테이너설정중원하는방법을취향에맞게선택할수있다.

8장.스프링을사용해데이터베이스와상호작용하기
대표적인ORM데이터액세스기술인하이버네이트와연계하는방법을알아본다.이장을마치면ORM단독으로사용하는것보다스프링과연계하는편이좋다는점을알수있으며,각ORM의특징을이해한후실제현장에서무엇이최적인지판단할수있다.

9장.스프링데이터
스프링데이터JPA와스프링데이터몽고DB프로젝트를사용해애플리케이션의리포지터리레이어를만드는방법을살펴본다.이장을마치면대부분의스프링데이터프로젝트가따르는핵심개념을이해할수있다.

10장.스프링을사용한메시징,전자우편,비동기메시지실행,캐싱
자바메시지서비스를사용한메시징,전자우편,비동기메시지를전송하는방법을알아본다.스프링5부터지원하는java.util.concurrent.ConcurrentMap,Ehcache,Caffeine,Guava,GemFire나JSR107(자바임시캐싱API)을구현한캐시솔루션에대한캐시추상화를알아본다.

11장.AOP
이번장에서는AOP의개념을살펴보고,스프링AOP를사용해스프링애플리케이션에서횡단관심사를표현하는방법을살펴본다.그리고AspectJ애너테이션스타일과XML스키마스타일로애스팩트를만드는방법도알아본다.

12장.스프링웹MVC기초
스프링웹MVC애플리케이션에서중요한객체를살펴본다.샘플애플리케이션을학습하며스프링의MVC프레임워크개념을이해하고,MVC프레임워크를구성하는기본적인클래스이용법을알아본다.

13장.스프링웹MVC를활용한검증과데이터바인딩
스프링웹MVC의핵심기능들을학습한다.애너테이션을설정한컨트롤러를개발할때자주쓰는@ModelAttribute와@SessionAttribute에대해알아본후,스프링이데이터바인딩과검증을어떻게수행하는지자세히살펴본다.

14장.스프링웹MVC로RESTful웹서비스개발하기
스프링웹MVC를사용해RESTful웹서비스를어떻게개발하는지살펴본다.그리고RestTemplate을사용해RESTful웹서비스에동기적으로접근하고,WebClient를사용해RESTful웹서비스에비동기적으로접근하는방법도알아본다.

15장.스프링웹MVC더살펴보기-국제화,파일업로드,비동기요청처리
이번장에서는웹애플리케이션을개발할때필요한스프링웹MVC프레임워크의기능을조금더깊이살펴본다.이장을마치면웹애플리케이션개발을편하게해주는스프링웹MVC프레임워크의중요성을깨달을수있을것이다

16장.스프링시큐리티를사용한애플리케이션보안
스프링시큐리티프레임워크를사용해스프링애플리케이션을보호하는방법을살펴본다.웹애플리케이션에는반드시필요하지만그중요성에비해이해하는사람이적다고생각되는인증기능을설명한다.기본적인개념부터인증ㆍ기능을구현하는방법까지알아본다.

17장.자바함수형프로그래밍
함수형스타일프로그래밍을지원하는자바구성요소를살펴본다.자바8에서함수형스타일프로그래밍을지원하기위해추가된새로운언어요소와기능을학습한다.

18장.RxJava2를사용한반응형프로그래밍
반응형설계원칙과반응형스트림명세에정의된핵심개념과API를설명한다.그리고RxJava2라이브러리를통해반응형애플리케이션을개발하는방법도알아본다.

19장.스프링웹플럭스,스프링데이터,스프링시큐리티를사용해반응형RESTful웹서비스개발하기
몽고DB의반응형JDBC드라이버,스프링데이터,스프링시큐리티,스프링웹플럭스를사용해실제로반응형애플리케이션을개발하는방법을살펴본다.이장은앞에서배운내용을기반으로반응형RESTful웹서비스를개발한다.