본문 바로가기

도서 소개

스프링 인 액션(제3판)

이 책은 현재 절판입니다. 그간 읽어주신 분들께 감사드립니다. 개정판을 참고해 주세요.


출판사  제이펍
원출판사  Manning
원서명  Spring in Action(3rd Edition)(원서 ISBN: 9781935182351)
저자명  크레이그 월즈(Craig Walls)
역자명  홍영표
출판일  2012년 2월 10일
페이지  544쪽
판  형  4*6배판 변형(188*245) 반양장(Soft Cover)
정  가  30,000원
ISBN  978-89-94506-07-4  부가기호: 13560
분  야  프로그래밍 / 자바
키워드  빈 / 와이어링 / AOP / 애스펙트 지향 / 하이버네이트 / 스프링 MVC / 트랜잭션 / 스프링 웹 플로 / 스프링 시큐리티 / REST / JMS / POJO

관련 사이트
아마존 도서소개페이지
원출판사 도서소개페이지
저자 운영 포럼
저자 블로그
■ 저자 트위터
■ Spring in Action(원서) 트위터

독자 Q&A
■ 출판사 이메일(jeipub골뱅이gmail.com)과 역자 이메일(architect.mobile골뱅이gmail.com)


강의 교안

■ 대학이나 학원에서 교재로 채택하신 분들에게는 강의교안을 만들 수 있는 자료를 보내드리도록 하겠습니다.(출판사로 메일이나 전화로 연락주세요)


관련 포스트
2012/01/27 - [출간전 책소식] - [스프링 인 액션] 3판이 출간됩니다!

관련 도서
김태용의 JSP 웹 프로그래밍 입문
웹 개발자를 위한 대규모 서비스를 지탱하는 기술
테스트 주도 ASP.NET MVC 프로그래밍

정오표 페이지

번역서 정오표 페이지

샘플 챕터(차례를 비롯한 앞부속물, 1장 스프링 속으로, 찾아보기)

스프링인액션(제3판)_부속물.pdf

스프링인액션(제3판)_1장.pdf

스프링인액션(제3판)찾아보기.pdf


소스 코드 다운로드

sia3-code(수정).zip

도서구매사이트


도서 소개
100,000명이 넘는 개발자가 이 책을 통해 스프링에 눈떴다!
아마존 No. 1 스프링 서적!

이제 스프링 프레임워크는 자바 개발자의 필수 지식이 되었으며, 스프링 3에서는 SpEL(Spring Expression Language), IoC 컨테이너를 위한 새로운 애너테이션, 그리고 REST를 위한 유용한 지원 기능 등이 추가됐다. 스프링을 알고 싶거나 스프링 3.0의 새로운 기능을 파악하고 싶다면 이 책이 최선의 선택이 될 것이다.

『스프링 인 액션 제3판』 역시 베스트셀러인 1, 2판의 실용적이고 실습 위주의 구성방식을 따르고 있다. 저자인 크레이그 월즈는 실용적인 기술과 기능에 대한 설명을 재미있고 유쾌하게 풀어내는 재능이 있다. 제3판에서는 스프링 3.0의 가장 중요한 측면이라 할 수 있는 REST, 원격 서비스, 메시징, 보안, MVC, 웹 플로 등을 집중적으로 다룬다.


이 책의 주요 내용은 다음과 같다.

• 애너테이션을 이용한 설정 작업의 간소화
• RESTful 리소스 작업
• SpEL(Spring Expression Language)
• 보안, 웹 플로 등

대상 독자
이 책은 모든 자바 개발자를 대상으로 하지만 엔터프라이즈 개발자에게 특히 유용하다. 각 장을 거치면서 코드 예제의 복잡도를 서서히 늘려가겠지만, 스프링의 진정한 힘은 엔터프라이즈 애플리케이션 개발을 더 쉽게 하는 데 있다. 따라서 엔터프라이즈 개발자들은 이 책에 있는 예제들의 진가를 알 수 있을 것이다.


이 책의 구성
1부에서는 스프링 프레임워크의 가장 핵심적인 두 개의 기능인 종속객체 주입(DI: Dependency Injection)과 애스펙트 지향 프로그래밍(AOP: Aspect-Oriented Programming)을 알아본다. 이 둘은 이 책에서 계속 사용되는 스프링의 기본개념으로 잘 이해해야 한다.


1장에서는 DI 및 AOP를 소개하고, 느슨하게 결합된 자바 애플리케이션을 개발하는 데 이들이 어떤 역할을 하는지 살펴본다.

2장에서는 DI를 이용해 애플리케이션 객체를 구성하고 연관 짓는 방법을 좀 더 자세히 살펴본다. 또한 느슨하게 결합된 컴포넌트를 작성하는 방법과 XML을 이용해 스프링 컨테이너 내에서 종속객체와 프로퍼티를 연결하는 방법을 배운다.


스프링 XML 설정의 기본 사항에 익숙해졌다면, 3장에서는 XML 설정을 애너테이션 기반의 방식으로 나타내는 방법을 알아본다.

4장에서는 스프링 AOP를 이용해 서비스하는 객체에서 횡단관심사(cross-cutting concerns)를 서로 분리하는 방법을 살펴본다. 또한 4장 이후에서는 스프링 AOP를 이용해 트랜잭션이나 보안, 캐시 등의 서비스를 선언적 방식으로 개발하는 방법을 설명하는데, 4장은 이러한 내용의 토대가 되는 중요한 장이다.


2부에서는 1부에서 소개한 DI와 AOP 기능을 바탕으로 구성되는데, 애플리케이션의 공통적인 요소를 구성하기 위해 이와 같은 개념을 어떻게 적용하는지 알아본다.

5장에서는 데이터 영속성에 대한 스프링 지원사항을 다룬다. 우선 JDBC와 관련된 수많은 상투적인 코드를 제거하는 데 도움을 주는 스프링의 JDBC 지원사항을 소개한다. 그리고 스프링이 하이버네이트(Hibernate)나 자바 퍼시스턴스 API(JPA: Java Persistence API)와 같은 퍼시스턴스 프레임워크와 어떻게 통합하는지 살펴본다.

6장에서는 5장의 부족한 부분을 채워준다. 6장의 주제는 트랜잭션으로, 데이터베이스에서 무결성을 보장하기 위해 스프링의 트랜잭션 지원사항을 활용하는 방법을 보여준다. 또한 AOP를 이용해 간단한 애플리케이션 객체에 선언적 트랜잭션의 능력을 부여하는 방법을 배운다.

7장에서는 스프링의 MVC 웹 프레임워크를 소개한다. 스프링이 웹 파라미터를 비즈니스 객체에 투명하게 반인드하고 동시에 유효성 검증과 에러 처리를 제공하는 방법을 살펴본다. 또한 스프링 MVC 컨트롤러를 이용해 웹 애플리케이션에 기능을 추가하는 작업이 얼마나 쉬운지도 알게 된다.

8장에서는 스프링 웹 플로(Web Flow)를 살펴본다. 스프링 웹 플로는 스프링 MVC의 확장판으로, 대화형 웹 애플리케이션의 개발을 가능하게 한다. 그리고 특정 흐름을 통해 사용자를 안내하는 웹 애플리케이션을 어떻게 구성하는지 알아본다.

9장에서는 스프링 시큐리티(Spring Security)를 이용해 애플리케이션에 보안을 적용하는 방법을 알아본다. 스프링 시큐리티가 서블릿 필터를 이용한 웹 요청 레벨과 스프링 AOP를 이용한 메소드 레벨에서 어떻게 애플리케이션을 보호하는지 알아본다.

2부에서 배운 내용을 통해 애플리케이션을 만든 후에 다른 애플리케이션이나 서비스와 통합해본다. 3부에서는 이를 수행하는 방법을 배운다.

10장에서는 애플리케이션 객체를 원격 서비스로 노출하는 방법을 살펴본다. 또한 원격 서비스를 마치 같은 애플리케이션에 있는 일반 객체와 다름없이 사용할 수 있는 방법을 다룬다. 이 장에서 다루는 리모팅 기술에는 RMI, Hessian과 Burlap, SOAP 기반의 웹 서비스, 그리고 스프링 고유의 HttpInvoker가 포함된다.

11장에서는 스프링 MVC로 다시 돌아와 스프링 MVC를 이용해 애플리케이션 데이터를 RESTful 리소스로 노출하는 방법을 알아본다. 이외에도 스프링의 RestTemplate으로 REST 클라이언트를 개발하는 방법을 배운다.

12장에서는 JMS로 비동기식 메시지를 송신하고 수신하기 위한 스프링 활용법을 살펴본다. 스프링을 이용한 기본적인 JMS 작업 외에도 오픈 소스인 링고(Lingo) 프로젝트를 이용해 JMS를 통해 비동기식 서비스를 노출하고 사용하는 방법을 배운다.

13장에서는 스프링을 이용해 JMX를 이용한 스프링 빈 관리를 알아본다. 관리 빈으로 스프링 빈을 노출하는 방법, 스프링 빈을 원격으로 관리하는 방법, 그리고 JMX 통지를 처리하는 방법에 대해 알아본다.


추천사
“사실상 스프링에 대한 참조문서다!” _ Dan Dobrin, CIBC

“빌려줄 수 없는 유일한 책. 항상 옆에 두고 읽는 책!” _ Josh Devins, Nokia

“스프링의 기본 개념과 방대한 내용을 모두 다룬 책!” _ Chad Davis, 『Struts 2 in Action』 저자

“훌륭한 저자와 훌륭한 내용!” _ Robert Hanson, 『GWT in Action』 저자

“기술과 유머의 완벽한 조합!” _ Valentin Crettaz, Goomzee

“독보적인 책이다. 훌륭한 집필이다. 예제는 매우 명확하고 따라하기 쉽다.” _ Sunil Parikh, DZone

“별 다섯 개 만점에 별 다섯 개다. 최고의 안내서다.” _ Nicola Pedot, Java User Group Trento

“스프링을 통해 더 단순하고 유지보수가 쉬운 코드를 작성하면 핵심 비즈니스 니즈에 집중할 수 있다.” _ Springframework.org

“대단히 읽기 쉬운 백과사전. 모든 부분 별 다섯 개!” _ JavaLobby.org

“뛰어난 구성과 유창한 설명!” _ Internet Bookwatch

“읽기 쉽다. 재미도 있다.” _ Books-On-Line

“희귀 도서!” _ Computing Reviews

“스프링에 대한 최고의 안내서!” _ Taruvai Subramaniam, Amazon 독자

“정말로 스프링에 뛰어들 수 있게 되었다.” _ Patrick Steger, Zühlke Engineering

“재미와 함께 빠져들게 만든다. 개발자가 알아야 하는 필수 내용을 상세히 다룬다.” _ Doug Warren, Java Web Services

저자 소개
크레이그 월즈(Craig Walls)
경력 15년의 소프트웨어 개발자로서 『XDoclet in Action』(Manning, 2003)과 『Spring in Action 1, 2판』(Manning, 2005와 2007), 『Modular Java』(Pragmatic Bookshelf, 2009)를 집필하였다. 그는 스프링 프레임워크의 열렬한 지지자이자 프로모터로서 지역 사용자 그룹과 컨퍼런스에서 강연을 하고, 그의 블로그에 스프링에 관한 글을 쓰면서 바쁜 나날을 보내고 있다. 여가 시간에는 그의 아내와 두 딸, 여섯 마리의 새, 네 마리의 개, 두 마리의 고양이, 그리고 열대어들과 함께 시간을 보낸다. 크레이그는 텍사스 주 플래노에 거주하고 있다.
http://www.jroller.com/habuma/


역자 소개
홍영표
전자전기공학을 전공하다 컴퓨터 프로그램에 빠져 이 길을 평생 업으로 삼게 됐다. LG CNS에서 개발자와 아키텍트로 근무하면서 다양한 프로젝트 경험을 통해 IT에 눈을 뜨게 됐다. 지금은 한 금융회사 정보시스템부에서 근무하고 있으며, 차세대시스템 구축 시 애플리케이션 아키텍트로서 시스템 성능과 튜닝을 담당했었다. 현재는 모바일 시스템 구축을 비롯해 신기술 연구개발(R&D)을 담당하고 있다. 애플의 철학과 스티브 잡스의 카리스마를 좋아하며, 엔지니어를 넘어 아티스트가 되기 위해 고군분투 중이다. 옮긴 책으로는 『아이폰&아이패드 인 액션』 『Professional iPhone and iPad Database Application Programming 한국어판』이 있다.

차 례
제1부 스프링 핵심 개념
1장 스프링 속으로
1.1 자바 개발 간소화 5
    1.1.1 POJO의 힘 6
    1.1.2 종속객체 주입 8
    1.1.3 애스펙트 적용 13
    1.1.4 템플릿을 이용한 상투적인 코드 제거 19
1.2 빈을 담는 그릇, 컨테이너 22
    1.2.1 또 하나의 컨테이너, 애플리케이션 컨텍스트 23
    1.2.2 빈의 일생 24
1.3 스프링 현황 26
    1.3.1 스프링 모듈 27
    1.3.2 스프링 포트폴리오 30
1.4 스프링의 새로운 기능 35
    1.4.1 스프링 2.5에서 새로워진 기능 35
    1.4.2 스프링 3.0에서 새로워진 기능 36
    1.4.3 스프링 포트폴리오에서 새로워진 기능 37
1.5 요약 38