스프링의 이론과 실전 모두를 위한『토비의 스프링 3』

사용자 삽입 이미지
토비의 스프링 3
스프링 프레임워크 3 기초 원리부터 고급 실전활용까지 완벽 가이드
이일민 지음 | 오픈소스 프로그래밍 시리즈
1,416쪽 | 하드커버 양장 | 50,000원 | 2010년 8월 16일 출간예정
YES24, 교보문고, 강컴, 인터파크, 알라딘


대한민국 전자정부 표준 프레임워크 기술로 선정된 스프링의 국내 최고 권위자 토비 이일민이 저술한 스프링 프레임워크 3 프로그래밍 완벽 바이블.

스프링의 핵심 프로그래밍 모델인 IoC/DI, PSA, AOP의 동작원리와 이를 다양한 방식으로 응용한 예제을 통해서 스프링을 빠르게 이해할 수 있고 엔터프라이즈 개발에 효과적으로 적용할 수 있는 접근방법을 소개한다. 또한 스프링 3.0의 최신 기술을 상세하게 소개하고 그 중에서 자신에게 맞는 최적의 기술을 선택하고 조합할 수 있는 기준과 전략을 다룬다.

스프링을 처음 접하거나 스프링을 경험했지만 스프링이 어렵게 느껴지는 개발자부터 스프링을 활용한 아키텍처를 설계하고 프레임워크를 개발하려고 하는 아키텍트에 이르기까지 모두 참고할 수 있는 스프링 종합 안내서.


다행스럽게도 지금 스프링을 공부하는 여러분에게는 더 나은 방법을 제시할 수 있다. 로드 존슨이 했던 이야기를 로드 존슨은 할 수 없는 우리말로 읽을 수 있다. 그리고 진정한 고수 개발자로 꾸준히 노력해온 이일민 씨의 노하우를 함께 배울 수 있다.
- 안영회(http://younghoe.info)
한국스프링사용자모임공동설립자, (주)아이티와이즈컨설팅 컨설턴트
이 책은 스프링의 핵심 가치를 전달하는 데 집중하고 있다. 로드 존슨이 쓴 『J2EE Development without EJB』 이후로 지금까지 출간된 스프링 서적 중에서 이 책만큼 스프링의 핵심 가치를 제대로 전달한 책은 보지 못했다. 이 책은 스프링을 사용하지 않더라도 자바를 기반으로 애플리케이션을 개발하는 모든 개발자가 읽어야 하는 책이다.
- 박재성 / XLGames 웹 서비스 개발자
이일민 씨는 뛰어난 개발자이고 완벽주의자인 동시에 타고난 이야기꾼입니다. 전 이 책을 눈으로 읽으면서도 어떻게 이렇게 다양하고 방대한 내용이 한 책으로 엮일 수 있는지 이해할 수가 없습니다. 스프링을 닮은 책입니다.
- 박성철 / 한국 스프링 사용자 모임 큰일꾼
 
이  책은 스프링이 추구했던 이러한 내면의 원칙을 현실과 잘 맞추어 풀어낸 한 편의 흥미진진한 소설과도 같다. 이 시대의 아키텍트나 개발자라면 반드시 한 번은 꼭 읽어봐야 할 책이다.
- 김창제 / 삼성 SDS 수석, Anyframe Java 기획•개발 총괄
이 책은 스프링을 배우는 데 필요한 DAO, AOP 같은 중요 개념의 이해를 시작으로 실전 프로젝트에 적용하는 방법까지 체계적으로 다루고 있다. 그리고 스프링의 학습법까지 친절히 다루는 등 곳곳에 저자 이일민 씨의 숨은 노력과 배려가 깃든 책으로 자바 개발자라면 꼭 읽어보길 권한다.
- 옥상훈 / 제4대 한국자바개발자 협의회 회장, 현 한국SW아키텍트 연합 공동회장
토비님의 블로그 또한 자바와 비자바를 떠나 많은 개발자에게 감명을 줬습니다. 그리고 그 이면에 담긴 JavaEE의 한계와 문제점은 실은 저를 부끄럽게 만들기 충분했지요. 무엇보다도 그 깊이, 토비님이 보여주신 그 깊이가 저는 한없이 부러웠고 존경스러웠습니다.
이 책이 독자에게 영감과 격려를 주리라 믿습니다.
- 이창신 / ias(iNDIE aPPLICATION sOFTWARE) 대표
스프링의 각 개념이 예제 중심으로 잘 설명되어 있어 스프링을 처음 접하는 분들도 쉽게 다가갈 수 있으리라 생각되며, 이전 버전 경험자 분들에게는 스프링이 확장 포인트를 어떻게 응용하면서 업그레이드됐는지 배울 수 있는 좋은 기회가 되리라 생각합니다.
- 이봉옥 책임 / 전자정부 표준프레임워크 커미터 삼성SDS
독자들이 이 책을 마칠 즈음엔 스프링을 배우러 왔다가 객체지향이라는 월척을 낚았다고 웃으며 책장을 덮게 될 것이라고 확신한다. 아울러 지금까지 써왔던 방식과 달리 스프링에서 주고자 했던 핵심 가치를 느끼며 코딩하고 있는 자신을 발견하리라고 조심스럽게 상상해본다.
- 양수열 / 인피언컨설팅 연구소장, JCO 3대회장•현 고문
두 개의 부로 구성된 이 책의 1부는 그의 그런 장점을 잘 녹여내어 처음 시작하는 자바 개발자도 쉽게 내용을 이해할 수 있습니다. 2부는 실제 프로젝트에 적용하는 데 필요한 내용을 담고 있습니다. 또한 고심에 고심을 거듭하여 만든 예제들은 프로젝트를 진행하는 데 적잖은 도움을 드릴 것입니다.
- 정희용 / 월간 마이크로소프트웨어 발행인
이 책의 가치는 여러 번 반복해 읽었을 때 더욱 빛을 발한다. 저자의 의도는 단순히 스프링을 설명하는 데 그치지 않는다. 이 책에서는 객체지향적인 코드, 프레임워크의 개념 정립, 테스트가 주는 장점 등을 고스란히 엿볼 수 있다.
- 백기선 / 봄싹 커뮤니티(http://springsprout.org) 대표, 스프링프레임워크 강사

저희 에이콘에서 자랑하고 싶은, 자랑할 만한 대작이 한 권 나왔습니다. 정말 나쁜 책은 그다지 많지 않습니다. 개발서로 말하자면, 전체 그림을 그릴 수 있게 하는 통찰을 주든, 현장에서 바로바로 사용할 수 있는 실전 팁을 주든 독자에게는 모두 좋은 참고서와 가이드가 되기 마련입니다.

그러나 두 마리 토끼를 잡으려 한다면? 대부분 실패하기 마련이지요. 저자가 모든 인사이트와 이론을 주입하고자 한다면 실제 현장에서 일하는 개발자들로서는 적용 가능한 팁은 없는 이론만 난무하는 책이라는 느낌을 받게 되고, 실전프로젝트 팁에 주력하고자 한다면 독자는 책을 다 읽고 나서 "그래서 내가 한게 도대체 뭐였지?"하는 멍한 느낌을 받게 되겠지요.

기나긴 세월을 거쳐 Toby's Epril이라는 블로그(http://toby.epril.com)를 운영하시는 토비 이일민님은 이 두 가지를 충족시키는 책을 결국 집필해냈습니다. 자바에 기반한 웹 프레임워크 스프링은 특히 애스펙트 지향 프로그래밍(AOP, Aspect Oriented Programming), 관심사의 분리(SoC, Separation of Concerns), 의존관계 주입(DI, Dependency Injection), 제어의 역전(IoC, Inversion of Control), @MVC 등 용어 정립조차 생소한 개념과 이론들로 인해 진입하려는 개발자에게는 관문 넘기조차 어렵게 느껴지는 프레임워크입니다.

따라서 외국의 수많은 원서와 국내서들이 끊임 없이 출간되어 독자들을 향해 손길을 뻗고 있지만 독자들이 흔쾌히 만족할 만한 책이 없었던 데도 그만한 이유가 있었습니다. 이제 토비님이 3년이라는 인고의 시간 동안 스스로 먹이를 만들어 먹고 소화하고 되새김질하면서 터득한 그 모든 것들을 그러모아 한 권의 책을 만들어냈습니다.

[ 이 책에서 다루는 내용 ]

★ 스프링의 3대 핵심 기술인 IoC/DI, PSA, AOP를 빠르고 효과적으로 배울 수 있는 실전 예제 중심의 설명
★ 자바 언어와 JDBC만 알면 누구라도 따라할 수 있는 52단계의 상세한 스프링 애플리케이션 핵심 코드 개발과정
★ DIJ/JavaConfig, OXM, @MVC, SpEL, Task, REST 등의 스프링 3.0의 최신 기술 소개
★ 스프링 기술 선택을 위한 상세한 기술 비교, 선택 기준 제시 
★ 스프링 애플리케이션 아키텍처 설계와 스프링 기반 프레임워크 제작을 위한 완벽 가이드

이 책 『토비의 스프링 3』에서는 스프링의 3대 기반기술이며 가장 이해하기 힘든 난해한 용어와 개념을 가진 악명높은 기술인 AOP, IoC/DI, 서비스 추상화 등에 대해서 마치 소설을 읽듯 이해하기 쉽도록 차근차근 설명해 드립니다. 그러나 스프링이 무엇인지 어려운 문제부터 풀어나가기를 독자에게 종용하지 않습니다. 스프링이란 "어떻게 오브젝트가 설계되고, 만들어지고, 어떻게 관계를 맺고 사용되는지에 관심을 갖는 프레임워크"이다. 스프링의 관심은 오브젝트와 그 관계에 있으며 그러나 결국 모두를 결정하는 일은 스프링이 아니라 개발자의 역할이며 책임이라고 일갈하며 1장에선 기존 책과 다른 길을 선택해 오브젝트와 의존관계서부터 설명해들어갑니다. 그리고 2장에선 스프링이 개발자에게 제공하는 가장 중요한 가치는, 객체지향과 테스트라며 테스트 코드의 중요성과 개발 방법을 설명하며 어찌 보면 가볍게 시작합니다.

이 책의 미덕을 꼽자면 수도 없이 많겠습니다. 1부에서 펼쳐놓는 스프링의 기본 원리와 핵심 기술을 소개 내용에 따라 차근차근 공부를 해도 좋습니다. 당장 스프링 개발을 시작해야 한다면 레퍼런스 식으로 정리되어 있어서 개별적인 기술 사용방법을 기술한 2부부터 펼쳐서 활용할 수도 있습니다.

또한 부록CD에는 책에 담지 않은 내용이지만 바로 가져다 쓸 수 있는 것으로서, @MVC를 활용한 회원관리 웹 애플리케이션에 관한 완성된 예제 프로젝트가 들어있어 급히 코드를 일단 가져다 쓰려는 분들이 매우 유용하게 활용할 수 있습니다.
또한 이 책에서는 2.5 버전의 SpringMVC에서 시작되어 완성되었으며 3.0의 가장 큰 변화라고 할 수 있는 @MVC 개념에 대한 모든 것을 12장. 스프링 웹 기술과 스프링 MVC와 13장. 스프링 @MVC 장에서 모두 익힐 수 있습니다. 외국에서 출간된 SpirngMVC라는 책을 빼놓고는 MVC에 관해 이만큼 상세히 다룬 책은 아마도 없을 것입니다.

이처럼 많은 내용을 다룬 책이기에 어느 독자라도 만족할 만한 내용을 얻으실 수 있을 것입니다. 많은 미덕 중 단 한가지 흠을 꼽자면 1,416쪽에 달하는 방대한 양이기에 간단한 가이드를 원하시는 분들에게는 버거우실 수도 있겠으나 많은 개발자분들이 말씀하셨듯이 씹으면 씹을수록 고소한 맛이 우러나는 음식처럼 한 번, 두 번, 세 번 되풀이해 읽을수록 점점 체득할 지식이 가득한 책이라고 할 수 있습니다.

<+추가한 이야기>
토비님은 그러고 보면 참 인복이 많으신 분 같습니다. 책의 앞머리에 나오는 감사의 글도 원서 못지 않은 수많은 사람들이 등장합니다. 마음에서 우러나와 도움을 주고 응원해주는 분들이 정말 많으세요.

그 중에서도 추천글도 써주시고 봄싹스터디 대표이신 의형제 같은 백기선님은 저자를 대신해 이번에 IBM 디벨로퍼 웍스에 스프링 책 1장에 나오는 "오브젝트와 의존관계" 내용을 요약해서 직접 코딩하여 스크린캐스트를 만들어 글을 올려주셨습니다.  
감사하게도 이런 작업을 해주신 데 대해 백기선님은 "좋은 내용 써주신 토비님께 고마울 따름"이라고 하시네요. 참 세상은 아름다워요. ^^

2개의 영상으로 나뉘어 있으니, 잘 살펴보시고 이 책의 내용을 맛보기해보셔도 좋겠습니다. 예제코드는 여기에서 내려받으실 수 있으니 참고해보세요.



그리고 혹시 좀더 고화질의 원본 영상을 보고 싶으신 분은 아래 링크를 눌러 확인하시기 바랍니다. (이 영상을 보기위해서는 퀵타임 플레이어가 필요합니다)

1장. 오브젝트와 의존관계 스크린캐스트 원본 영상 #1 / #2

다시 이야기로 돌아와,
그 많은 이야기를 책에 쏟아내시고도 책에 미처 못담은 예제 설명에 대해서 블로그에 [토스3]이라는 말머리를 달고 글을 써주시고 계시네요. 아직 한 가지가 더 남았다 하니 기대해주세요.

[토스3] 테스트를 위한 필드 주입 유틸
[토스3] 스프링 JDBC DAO에 lazy-loading 기능 적용하기
[토스3] 스프링 JDBC DAO에 lazy-loading 적용하기 (2)

책 출간에 이어 토비님께 경사가 하나 더 생겼습니다. 바로 어제 큰 아들 평화에 이어 예쁜 딸 하늘이가 태어났다고 하더라구요. 책 출간과 함께 토비님 가족에 기쁘고 행복한 일만 가득가득하시길 기원하겠습니다. 진심으로 축하합니다! :)

사용자 삽입 이미지사용자 삽입 이미지

2007년 1월 계약서에 날인하고 2010년 8월 출간되기까지, 스프링 2.0에서 출발해 3.0에서 종착역에 다다르는 동안, 서울에서 시작해 호주에서 마무리되었고, 그 사이 평화와 하늘이라는 두 아이를 얻었던 결코 짧지 않은 기간 동안 완성된 책라는 점을 생각하면, 한 권의 책을 만들어낸다는 것은 정말 지난한 작업이며 자신을 이겨내는 길고 외로운 싸움이고 산고의 고통에 못지 않은 힘든 길이라는 생각이 듭니다. 그 긴 시간동안 포기하지 않으시고 좋은 책을 만들겠다는 일념 하나로 집필에 몰두하고 경제적 손실도 감수하게 될지도 모르는 상황에서 고생하신 토비 이일민님께 무어라 감사와 응원의 말씀을 전해야 할지 모르겠습니다.

다행히 스프링3에 이르러 우리나라 전자정부 프레임워크에 채택됐다는 기쁜 소식에 이어, 모 대기업들에서도 기업내 프레임워크로 스프링3을 적극 고려하고 있으며, 외국의 주요 기반기술들 중에서도 서버나 연동 기술 등에 있어서 스프링 채택이 부각되고 있다는 소식들이 속속 들려오고 있습니다.

모쪼록 토비 이일민님이 혼신을 다해 집필한 이 책이 스프링 프레임워크 기술에 목말라했던 여러 개발자분들께 큰 도움과 지식과 성찰을 전해드릴 수 있게 되길, 저자분과 함께 진심으로 바랍니다.

저자 이일민님과 함께 책에 추천글을 흔쾌히 써주신 여러분과, 책이 나오기까지 도와주신 모든 개발자분들께 진심으로 감사말씀 전합니다.

자, 이젠 책을 직접 손에 들고 읽어내려갈 개발자 독자 여러분의 몫만 남았습니다. 성원해주셔서 감사합니다. 이 책은 지금 YES24, 교보문고, 강컴, 인터파크, 알라딘에서 예약판매 중이며 마지막 작업을 마무리 짓고 다음 주 8월 9일 월요일에 여러분을 찾아갑니다.

+
예기치 못하게 발생한 제작 상의 문제로 인해 출간이 지연된 점 독자여러분께 양해를 구합니다. 8월 11일 현재, '토비의 스프링 3' 출간일은 8월 16일로 늦춰졌습니다. 예약주문을 해놓으시고 책을 기다리시는 독자분들과, 책이 나오기만을 고대하고 계실 여러 독자분들께, 오래 기다리시게 하여 진심으로 죄송하다는 말씀을 전합니다.

현재 예정대로 8월 16일 책이 출간되면, 8월 17일부터, 늦어도 18일부터는 전국 대형서점과 인터넷서점에서 책을 받아보실 수 있을 것입니다. 조금만 기다려 주시면 좋은 책으로 보답하겠습니다.

감사합니다.
CC

크리에이티브 커먼즈 라이센스 에이콘출판사에 의해 창작된 이 저작물크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.


  • hong| Aug 11, 2010

    자꾸 출간일이 변경 되는데
    아직 확실한 출간일은 알 수 없나요?

  • 에이콘| Aug 11, 2010

    안녕하세요. Hong님.

    저희 책을 기다려주셔서 감사합니다. 예정출간일은 8월 16일로 늦춰졌습니다. 서점마다 배본일정이 달라 조금씩 다를 수 있겠습니다만, 다음 주 중반 이후면 어느 곳에서나 책을 받아보실 수 있으리라 생각합니다.

    다시 한번 사과말씀 드립니다.

  • 레몬에이드| Aug 12, 2010

    아이구 토비님 이렇게 엄청난 책을 내셨군요...
    1400페이지가 넘는다니 대단합니다

    자바하는 친구들에게 적극 추천하겠습니다 ^^

  • 에이콘| Aug 17, 2010

    추천해주시는 것만도 저희는 감사할 따름입니다. ^^