확장메뉴
주요메뉴


미리보기 공유하기
중고도서

스프링 프레임워크 3.0

: 예제로 쉽게 배우는

정가
28,000
중고판매가
20,000 (21% 할인)
상태?
최상 새 상품같이 깨끗한 상품
YES포인트
구매 시 참고사항
  • 중고샵 판매자가 직접 등록/판매하는 상품으로 판매자가 해당 상품과 내용에 모든 책임을 집니다.

[중고샵] 매장ON! 매장 배송 온라인 중고 서비스
[중고샵] 판매자 배송 중고 추천 인기샵 특별전
[중고샵] 매장ON! 대구물류편: 버뮤다대구지대
쇼핑혜택
현대카드
1 2 3 4 5

품목정보

품목정보
출간일 2012년 02월 01일
쪽수, 무게, 크기 556쪽 | 974g | 188*253*35mm
ISBN13 9788979148879
ISBN10 8979148879

중고도서 소개

최상 새 상품같이 깨끗한 상품

책소개 책소개 보이기/감추기

왜 스프링 프레임워크에 동참해야 하는가?

스프링은 이제 자바 환경에서 개발 프레임워크의 대세로 확실하게 자리를 굳혔다. 생산성 향상과 유연한 개발 환경을 고민하는 자바 개발자에게 스프링은 반드시 품에 안아야 할 프레임워크로 인식되고 있다. 그러나 막연한 거부감과 도입에 따른 추가 작업이 필요하다는 것을 이유로 스프링과 거리를 두고 있는 개발자가 아직도 많은 게 현실이다. 단지 어렵고 귀찮아서 스프링과 담을 쌓고 지내는 것은 바람직하지 않다. 경쟁력 있는 자바 개발자를 꿈꾼다면 지금이라도 스프링의 세계에 뛰어들어야 한다.

이 책은 예제를 통해 스프링을 쉽고 빠르게 배울 수 있게 해준다. 샘플 애플리케이션도 만들어 볼 수 있다. 스프링에 대해 어렵고 귀찮게 생각하는 개발자들도 책을 읽고 나면 실제 프로젝트에서 스프링을 어떻게 활용해야 하는지 감을 잡을 수 있을 것이다.

목차 목차 보이기/감추기

CHAPTER 01 스프링DI와 AOP에 대해
_1-1 Hello, Spring!
__1-1-1 개요
__1-1-2 샘플에 대한 설명
__1-1-3 샘플의 핵심
__1-1-4 샘플 사용방법
__1-1-5 파일 구성
__1-1-6 가장 간단한 샘플 애플리케이션_sample1
__1-1-7 인터페이스 적용_sample2
__1-1-8 스프링 사용
__1-1-9 설정 파일(beans.xml)
__1-1-10 사용하는 Bean의 변경
_1-2 의존 관계 주입
__1-2-1 개요
__1-2-2 샘플에 대한 설명
__1-2-3 샘플의 핵심
__1-2-4 샘플 사용방법
__1-2-5 파일 구성
__1-2-6 설정 파일(beans.xml
__1-2-7 의존 관계 주입의 대상이 되는 Bean
__1-2-8 다른 Bean 참조를 주입하자
__1-2-9 beans.xml의 변경
_1-3 Bean 라이프사이클
__1-3-1 개요
__1-3-2 샘플에 대한 설명
__1-3-3 샘플의 핵심
__1-3-4 샘플 사용방법
__1-3-5 파일 구성
__1-3-6 설정 파일(beans.xml)
__1-3-7 HelloApp.java
__1-3-8 MessgeImpl.java/CustomBeanPostProcessor.java
__1-3-9 ApplicationContext 인터페이스
_1-4 AOP
__1-4-1 개요
__1-4-2 샘플에 대한 설명
__1-4-3 샘플의 핵심
__1-4-4 샘플 사용방법
__1-4-5 파일 구성
__1-4-6 설정 파일(beans.xml)
__1-4-7 대상이 되는 MessageBeanImpl 클래스
__1-4-8 Advice가 되는 클래스
__1-4-9 HelloApp
_1-5 실전 AOP
__1-5-1 개요
__1-5-2 샘플에 대한 설명
__1-5-3 샘플의 핵심
__1-5-4 샘플 사용방법
__1-5-5 파일 구성
__1-5-6 설정 파일(beans.xml)
__1-5-7 LoggingSample 클래스
__1-5-8 HelloApp 클래스

CHAPTER 02 데이터베이스를 이용한 애플리케이션 만들기
_2-1 팀 목록 만들기
__2-1-1 개요
__2-1-2 샘플에 대한 설명
__2-1-3 샘플의 핵심
__2-1-4 샘플 동작법
__2-1-5 파일 구성
__2-1-6 설정 파일(applicationContext.xml)
__2-1-7 팀 정보
__2-1-8 데이터베이스 접근
__2-1-9 콘솔에 표시
_2-2 선수 등록 하기
__2-2-1 개요
__2-2-2 샘플에 대한 설명
__2-2-3 샘플의 핵심
__2-2-4 샘플 동작법
__2-2-5 파일 구성
__2-2-6 설정 파일(applicationContext.xml)
__2-2-7 선수 정보
__2-2-8 선수 등록
__2-2-9 팀 취득
__2-2-10 콘솔에 표시
_2-3 목록에서 선수 정보 변경·제거
__2-3-1 개요
__2-3-2 샘플에 대한 설명
__2-3-3 샘플의 핵심
__2-3-4 샘플 동작법
__2-3-5 파일 구성
__2-3-6 설정 파일(applicationContext.xml)
__2-3-7 선수 목록 취득
__2-3-8 선수 취득
__2-3-9 선수 갱신·삭제
__2-3-10 콘솔에 표시
_2-4 티켓 정보 표시
__2-4-1 개요
__2-4-2 샘플에 대한 설명
__2-4-3 샘플의 핵심
__2-4-4 샘플 동작법
__2-4-5 파일 구성
__2-4-6 설정 파일(persistence.xml/applicationContext.xml)
__2-4-7 엔티티 클래스
__2-4-8 이벤트 검색
__2-4-9 이름으로 유저 취득
__2-4-10 예약 완료 티켓 취득
__2-4-11 콘솔에 표시
_2-5 예약 취소
__2-5-1 개요
__2-5-2 샘플에 대한 설명
__2-5-3 샘플의 핵심
__2-5-4 샘플 동작법
__2-5-5 파일 구성
__2-5-6 설정 파일(applicationContext.xml)
__2-5-7 예약 취소
__2-5-8 유저 이름 변경
__2-5-9 콘솔에 표시
_2-6 티켓 예약
__2-6-1 개요
__2-6-2 샘플에 대한 설명
__2-6-3 샘플의 핵심
__2-6-4 샘플 동작법
__2-6-5 파일 구성
__2-6-6 설정 파일(applicationContext.xml)
__2-6-7 남은 티켓 매수 취득
__2-6-8 티켓 예약
__2-6-9 유저 갱신
__2-6-10 콘솔에 표시

CHAPTER 03 웹 애플리케이션 만들기
_3-1 상품 목록 화면 만들기
__3-1-1 개요
__3-1-2 샘플에 대한 설명
__3-1-3 샘플의 핵심
__3-1-4 샘플 동작법
__3-1-5 파일 구성
__3-1-6 설정 파일
__3-1-7 샘플 화면 이동과 화면 정보 입출력
__3-1-8 컨트롤러
__3-1-9 상품 정보 취득 로직
__3-1-10 화면에 표시
__3-1-11 로그 출력에 대해
_3-2 상품 상세 화면 만들기
__3-2-1 개요
__3-2-2 샘플에 대한 설명
__3-2-3 샘플의 핵심
__3-2-4 샘플 동작법
__3-2-5 파일 구성
__3-2-6 설정 파일
__3-2-7 샘플 화면 이동과 화면 정보 입출력
__3-2-8 컨트롤러
__3-2-9 상품 정보 취득 로직
__3-2-10 화면에 표시
_3-3 로그인 화면 만들기
__3-3-1 개요
__3-3-2 샘플에 대한 설명
__3-3-3 샘플의 핵심
__3-3-4 샘플 동작법
__3-3-5 파일 구성
__3-3-6 설정 파일
__3-3-7 샘플의 화면 이동과 화면 정보 입출력
__3-3-8 컨트롤러
__3-3-9 유저 정보 취득 로직
__3-3-10 화면에 표시
_3-4 유저 등록 기능 만들기
__3-4-1 개요
__3-4-2 샘플에 대한 설명
__3-4-3 샘플의 핵심
__3-4-4 샘플 동작법
__3-4-5 파쿀 구성
__3-4-6 설정 파일
__3-4-7 샘플 화면 이동과 화면 정보 입출력
__3-4-8 컨트롤러
__3-4-9 유저 정보 취득 로직
__3-4-10 화면에 표시
_3-5 쇼핑 사이트 만들기
__3-5-1 개요
__3-5-2 샘플에 대한 설명
__3-5-3 샘플 동작법
__3-5-4 파일 구성
__3-5-5 설정 파일
__3-5-6 상품 목록 화면 - 상품 상세 화면
__3-5-7 로그인 화면 - 로그인 완료 화면
__3-5-8 유저 등록 화면 - 유저 등록 완료 화면
__3-5-9 카트 확인하기 화면
__3-5-10 계산 화면
__3-5-11 쇼핑 완료 화면
__3-5-12 비즈니스 로직
__3-5-13 스타일 시트
_3-6 상품 카탈로그 만들기(관리자편)
__3-6-1 개요
__3-6-2 샘플에 대한 설명
__3-6-3 샘플의 핵심
__3-6-4 샘플 동작법
__3-6-5 파일 구성
__3-6-6 설정 파일
__3-6-7 샘플 화면 이동과 화면 정보 입출력
__3-6-8 컨트롤러
__3-6-9 상품 관리 로직
__3-6-10 화면에 표시하다
_3-7 인증 기능 추가(관리자편)
__3-7-1 개요
__3-7-2 샘플에 대한 설명
__3-7-3 샘플의 핵심
__3-7-4 샘플 동작법
__3-7-5 파일 구성
__3-7-6 로그인 화면 작성
__3-7-7 스프링 시큐리티의 컴포넌트 정의
__3-7-8 설정 파일 편집

CHAPTER 04 배치 애플리케이션 만들기
_4-1 작업 수행 일정 설정으로 처리 실행
__4-1-1 개요
__4-1-2 샘플에 대한 설명
__4-1-3 샘플의 핵심
__4-1-4 샘플 동작법
__4-1-5 파일 구성
__4-1-6 설정 파일
__4-1-7 태스크로 할 Bean
__4-1-8 로그 설정 파일
__4-1-9 어노테이션으로 스케줄 설정
__4-1-10 스프링 설정 파일 변경
_4-2 잡 스케줄링 라이브러리 연계
__4-2-1 개요
__4-2-2 샘플에 대한 설명
__4-2-3 샘플의 핵심
__4-2-4 샘플 동작법
__4-2-5 파일 구성
__4-2-6 설정 파일
__4-2-7 태스크로 할 Bean
__4-2-8 Quartz 설정 파일
_4-3 배치 프로그램 만들기
__4-3-1 개요
__4-3-2 샘플에 대한 설명
__4-3-3 샘플의 핵심
__4-3-4 샘플 동작법
__4-3-5 파일 구성
__4-3-6 설정 파일
__4-3-7 사람을 나타내는 클래스
__4-3-8 ItemWriter

부록
_A1 자바 설치와 컴파일
__A-1-1 JDK 설치
__A-1-2 컴파일
__A-1-3 WAR 파일 작성
_A2 Ant 셋업
__A-2-1 배포본 구하기
__A-2-2 Ant 설정
_A3 Tomcat의 셋업
__A-3-1 배포본 구하기
__A-3-2 Tomcat 설치
__A-3-3 PermGen 영역 설정
__A-3-4 Tomcat의 실행·정지와 애플리케이션 실행
__A-3-5 Tomcat 배치 방법
_A4 MySQL 셋업
__A-4-1 배포본 구하기
__A-4-2 MySQL 설치
__A-4-3 MySQL 실행과 설정
_A5 Connector/J 셋업
__A-5-1 Connector/J 구하기
__A-5-2 샘플 가동 시 주의점
_A6 Hibernate 셋업
__A-6-1 배포본 구하기
__A-6-2 Hibernate 설정
_A7 log4j 셋업
__A-7-1 배포본 구하기
__A-7-2 log4j의 설정
_A8 스프링 시큐리티 셋업
__A-8-1 배포본 구하기
__A-8-2 스프링 시큐리티 설정
_A9 스프링 배치 셋업
__A-9-1 배포본 구하기
__A-9-2 스프링 배치의 설정
_A10 이클립스 설치
__A-10-1 배포본 구하기
__A-10-2 이클립스 실행
__A-10-3 프로젝트 불러오기

저자 소개 관련자료 보이기/감추기

저자 : 사카타 코이치
크로노스에 근무하고 있는 소프트웨어 엔지니어다. 자바 전문가이며, 루비와 Scala에도 관심이 있다. 이 책을 내놓기 전에 '스프링에 의한 웹 애플리케이션 슈퍼 샘플'과 'Seasar2에 의한 웹 애플리케이션 슈퍼 샘플'을 집필했다. 현재 블로그(http://d.hatena.ne.jp/jyukutyo)를 운영하고 있다.
역자 : 황선유
세종대학교 일어일문학과를 졸업하고 일본 반도체 회사에서 근무했다. 6년간의 프로그래밍 경력을 거쳐 현재 번역 에이전시 엔터스코리아에서 IT전문 번역자로 활동하고 있다.
감수 : 박성철
82년 라디오와 모형이란 잡지에서 퍼스널 컴퓨터라는 말을 접한 이후로 지금까지 프로그래밍에 빠져 있다. 예쁘고 똑똑한 아내와 8살짜리 귀여운 아들과 함께 남양주에서 산다. 책, 음악, 사진, 애니메이션, 프로그래밍이 취미이다. 사람들과 만나 공통 관심사를 나누기 좋아한다. 프로그래머가 더 행복하게 작업하면서 인류에 이바지할 방법이 없는지 찾고 있다. 한국 스프링 사용자 모임(KSUG)의 2대 큰일꾼이다.

책 속으로 책속으로 보이기/감추기

일본에서 직장생활을 하던 시절, 같이 개발을 하던 친구가 연두색 새싹이 표지에 가득 그려진 예쁜 책을 지하철에서 읽는 것을 보았다. '스프링이 뭐지?'라는 의문을 처음 가졌던 그 순간으로부터 많은 시간이 지난 지금도 스프링은 많은 개발 현장에서 사용되고 있다. 스프링이 짧지 않은 시간을 거쳐 다양한 환경에서 검증된 프레임워크라는 이유만으로 엔터프라이즈급 서버들까지 스프링 프레임워크로 전환되고 있는 것은 아닐 것이다. 사용성과 확장성뿐 아니라 엔터프라이즈급 서버로서의 성능도 뛰어났기 때문이 아닐까 싶다. 특히 스프링에서 강조하는 DI/Ioc와 AOP 개념은 그동안 프로그래밍을 하면서 느꼈던 갈증을 해소해 줄 것이라고 생각한다. DI/Ioc는 좀 더 유연하고 사용성이 높은 코드를 짤 수 있도록 하는데 아주 좋은 개념이다.
이 책은 스프링의 개념에 대해 간단하고 쉽게 설명한다. 이 책을 보면서 단순히 스프링 프레임워크를 어떻게 사용하는지 사용법만을 습득하는 것이 아니라, 스프링이 어떤 이유에서 나왔고, 다른 프레임워크와 차별화된 장점은 무엇인지 고민하며 읽는다면, 독자 분들의 프로그래밍이 업그레이드되는 계기가 될 것이다. 본문에도 나오지만 스프링은 단지 단순한 웹 애플리케이션 개발 용도로만 나온 개발 프레임워크가 아니다. GUI 및 응용 애플리케이션 개발에도 충분히 적용할 수 있는 프레임워크이다. 이 책을 번역하면서 많은 참고 자료를 살펴본 결과, 스프링은 내용이 방대한 프레임워크이다. 개발하고자 하는 환경에 맞게 필요한 부분을 잘 적용하는 것이 스프링을 스프링답게 사용하는 방법이지 싶다. 책을 번역하는 과정은 빡빡한 일정을 핑계 삼아 외면하고 지내던, 처음 코드를 만들던 시절의 열정을 되돌아 보는 계기가 되었다. 일정에 쫓기며 적당히 자신과 타협해왔던 코드들이 아닌, 차근차근 생각하면서 더 나은 코드를 궁리하던 초심을 느끼면서 그 시절로 돌아간 느낌이었다. 일정이 겹치는 바람에 몸은 피곤했지만 매너리즘에 빠지려는 나에게 다시 한 번 힘을 낼 수 있는 신선한 자극제가 되었다. 책이 완성되어 나오기까지 많은 분들의 도움을 받았다. 꼬인 스케줄 관리하시느라 고생하신 엔터스코리아 이재성 부장님과 책이 나오기까지 여러 방면으로 지원해 준 한빛미디어분들께 감사드린다. 역자의 부족한 지식을 채워주느라 사소한 질문까지 친절하게 가르쳐주신 감수자 박성철님께도 감사드린다. 모두가 바쁜 연말임에도 불구하고 책이 나올 때까지 많이 배려해주고 도와준 우암 식구들에게도 고맙다는 말을 전하고 싶다. 마지막으로, 떨어져 있어도 함께 있는 것처럼 힘이 되어주는 가족들과 친구들에게 평소에는 자주하지 못하는, 항상 고맙고 아주 많이 사랑한다는 말을 이 기회를 빌려 전하고 싶다.
_ 2011년 12월 황선유

몇 년 전 한 대형 SI 업체와 중앙 부처의 뉴스 포털 서비스를 구축하는 프로젝트에 참여했었습니다. 그때 고객이 스프링 프레임워크를 검토해 달라고 요청했지만, 스프링이라는 단어 자체를 처음 들은 SI 업체는 허구에 가까운 비전을 내세워 포틀릿기반 포털 솔루션을 대안으로 제안했습니다. 결국 고정된 예산 안에서 고가의 포털 솔루션을 사느라(포털 때문에 개발 인력이 추가 투입돼야 했음에도 오히려) 개발 인력을 줄이는 악수를 두고 말았고, 개발자들은 지옥을 경험할 수밖에 없었습니다. 당시만 해도 스프링은 오픈소스이기 때문에 신뢰할 수 없다거나 기업용으로 쓸 수 없다는 말이 많았습니다. EJB 2를 중심으로 형성된 기존 자바 생태계의 저항도 적지 않았습니다. EJB는 많은 자바 관련 회사와 구성원들의 밥줄이기도 했으니까요. 하지만, 불과 몇 년 사이에 스프링은 누구나 인정하는 산업 표준이 되었습니다. 지금 제가 스프링의 중요성을 강조한다는 게 어색할 정도입니다. 2009년 오라클이 썬마이크로시스템즈를 인수한다는 발표가 나오자 스프링의 창시자 로드 존슨은 "자바 기술 박물관에 전시물을 하나 추가한 오라클"이라는 글을 썼습니다. 오라클의 썬 인수가 개발자들에게 별 영향을 미치지 못하리라는 내용이었습니다. 오라클의 CEO 래리 엘리슨은 썬을 인수하면서 자바는 우리가 인수한 어떤 소프트웨어보다도 중요하다고 했지만, 로드 존슨은 자바가 중요한 건 사실이지만 오라클이 인수한 건 과거의 자바일 뿐이며 썬이 기업용 자바에서 통제권을 휘두른 건 이미 지난 일이라고 말합니다. 자바는 이미 공개된 기술이기에 한 업체가 통제하거나 절대적인 영향력을 끼칠 수 없으며, 최근에 이루어진 자바의 혁신은 썬을 중심으로 모인 이익 집단이 아닌 오픈소스를 통해 개발자들이 이끌었습니다. 아파치, 이클립스, JBoss, 하이버네이트, 스프링 등이 모두 이 같은 결과물입니다. 오픈소스를 통한 개발은 무엇보다 업체의 이익을 대변하던 과거 기업용 자바 플랫폼과 달리 개발자의 생산성에 집중합니다. 위에 말한 프로젝트의 경우, 비용 문제로 투입 인력이 줄어 개발자당 업무량이 늘어난 데다, 재실행하는데 수십 분이 걸리는 포털 솔루션 때문에 개발자는 이 중의 고통을 당했습니다.(포털 제품 영업 사원은 포털 솔루션을 도입하면 개발 생산성이 두 배로 높아진다고 홍보했습니다.) 기술 혁신가나 조기 수용자들은 스프링이 새로울 것이 없다면서 다른 신기술을 사냥하러 떠납니다. 하지만 저는 이제 시작이라고 생각합니다. 스프링이 안 쓰이는 프로젝트가 없을 정도로 많이 보급되기는 했지만 정작 제가 가까이 가서 보면 스프링을 왜 써야 하는지, 스프링을 쓰면 어떤 이득을 볼 수 있는지 알고 이 이점을 살려 사용하는 곳은 많지 않습니다. 그저 유행이라서 쓰는 곳이 대부분입니다. 스프링을 도입한 효과는 아주 미미합니다.
이제는 교육의 문제입니다. 스프링은 아주 단순한 핵심 가치와 철학을 가진 프레임워크입니다. 하지만 이 철학을 기업용 자바 플랫폼이 제공해야 하는 전 영역에 적용하다 보니 다루는 양이 무척 많고 자칫하면 복잡하고 무거운 기술로 오해하기 쉽습니다. 마치 대부분의 자바 개발자가 자바 언어를 다 알지 못하지만, 오늘도 자바 코드를 작성하는 것처럼 스프링도 그런 마음으로 다가서는 게 좋습니다. 한 번에 다 이해하려고 하지 말고 자신에게 맞는 책을 골라 자신에게 맞는 방식으로 익숙해지도록 하십시오. 그리고 입문 과정이 지나면 조금 더 깊이 진지하게 다가서도록 하십시오. 스프링은 OOP, 디자인 패턴, POJO, 테스트 자동화 같은 위대한 기술과 아주 밀접한 관계가 있습니다. 사실 스프링은 이들 기술을 사용하기 쉽게 도와주는 보조 도구에 불과합니다. 그러니 스프링을 올바르게 쓰고자 한다면 이런 유행에 휩쓸리지 않고 품질 좋은 소프트웨어를 만드는 데 필수적인 기술을 익히십시오. 스프링은 새 버전이 나올 때마다 이전보다 더 쉽고 생산적으로 개선됩니다. 새 기능을 익히는데 주저하지 마십시오. 예전 자바 기술이 WAS 같은 특정 회사의 자바 플랫폼을 팔기 위해 만들어졌다면 스프링과 다른 혁신적인 오픈소스 기술들은 자바 개발자들에 의해 자바 개발자를 위해 만들어진 기술들입니다.
이 책은 일본책답게 예제를 중심으로 친절하게 스프링을 설명합니다. 스프링을 포괄적으로 다루는 기존 교재로 실패한 사람이나 한 번도 스프링을 접해보지 못한 개발 초심자들에게는 스프링에 연착륙하기 좋은 기회일 수도 있습니다. 물론 스프링이 워낙 방대하다 보니 이 책으로 모든 것을 다 배울 수는 없겠지만 조급한 마음은 실패로 가는 지름길입니다. 스프링은 Java EE 전 범위를 포괄하는 프레임워크입니다. 한두 번의 학습으로, 한두 권의 책으로 모두 이해하려는 욕심은 버리십시오. 다만, 투자한 만큼 얻는 게 많다는 것만은 보장합니다. 저는 이 책이 우리나라 자바 개발자 커뮤니티에서 받아들여질 만하게 용어를 다듬고 기술적 오류를 잡는데 약간의 도움을 드렸습니다. 좋은 책이 되도록 고민을 많이 했지만, 일본과 한국의 문화적 차이와 개발 생태계의 차이도 무시할 수는 없나 봅니다. 저도 다른 책을 번역하고 있어서 쉽게 풀기 어려운 영역이란 걸 알고 있습니다. 이 부분에서 저도 역자만큼의 책임감을 느끼는 만큼 혹시 매끄럽지 않은 부분이 있다면 너그럽게 이해해 주십시오. 스프링을 사용해 즐겁고 의미 있는, 그리고 보람찬 개발을 경험하시기를 바랍니다.
_ 2011년 12월 박성철---감수자의 말 중에서

2009년 4월 어느 날, 저는 도쿄 시나가와에 있는 한 이자카야(다양한 안주를 비교적 값싸게 골라 먹을 수 있는 일본식 대중 술집)에 있었습니다. 평소 그곳 광경과 크게 다른 느낌을 받은 것은 스프링 프레임워크를 창시한 로드 존슨 씨가 바로 옆 테이블에 있었기 때문입니다. 이전에 쓴 '스프링에 의한 웹 애플리케이션 슈퍼 샘플'을 내놓은 지 벌써 4년이 지났습니다. 그 사이 스프링은 자바 개발 환경에서 필수 기술이 되었습니다. DI(Dependency Injection) 컨테이너는 한물가기는커녕 자바 개발 환경에서 필수 기술로 부상했습니다. DI는 이해하기 어려운 개념이고 DI 컨테이너는 시스템 베이스로 사용되는 기술입니다. 개발 현장에서 DI 컨테이너를 사용하고 있어도 그것을 의식하지 않기 때문에 왜 쓰는지, 어떤 장점이 있는지 느끼기 어렵습니다. 웹에서 DI를 검색하면 나오는 문장을 읽어봐도 이해하기 어렵다는 내용들이 많습니다. DI를 이해하는 방법은 DI를 이용한 프로그램을 만들고 직접 돌려보는 것입니다. 이것밖에는 방법이 없습니다. 이렇게 하면서 지금까지의 프로그램과 어떤 차이가 있는지 비교하면 보다 깊이 이해할 수 있습니다. 그러나 모르는 기술로 프로그램을 만들고, 지금까지 해왔던 작업들과 비교해 보는 것은 시간이 오래 걸리는 일입니다. 안 그래도 바쁜 엔지니어들에게 그렇게 하라고 하는 것은 무리한 요구라고 생각합니다. 이 책은 이런 엔지니어들에게 도움이 될 것이라고 자부하고 있습니다. 책은 샘플 애플리케이션을 만들고 실제로 돌려 보면서 DI에 대해 설명합니다. 웹사이트에 샘플 애플리케이션과 필요한 라이브러리는 모두 들어 있습니다. 이 책 한 권과 PC만 있으면 바로 DI와 스프링 공부를 시작할 수 있습니다. 스프링은 DI 컨테이너 기능 외에 다양한 활용 분야를 갖습니다. 관점 지향 프로그래밍(AOP), 웹 프레임워크, 데이터베이스 액세스, 시큐리티 프레임워크, 배치 프레임워크를 포함합니다. 하나하나가 정확하게 무엇인지 파악하는 것만도 만만치 않습니다.
이 책은 스프링 프로덕트 중 몇 개를 골라 샘플 애플리케이션을 만드는 것을 보여줍니다. 편리한 기능 사용 방법만 주목하지 않고 기본 기능을 하나씩 다뤄보면서 해당 프로덕트에 대한 개념을 천천히 설명하는 것을 목표로 하고 있습니다. 책을 다 보고 나면 DI의 장점뿐 아니라 실제 프로젝트에서 스프링 프로덕트 중 어떤 것을 사용해야 하는가에 대한 판단도 내릴 수 있을 것입니다. 전작을 집필한 것이 계기가 되어, 필자는 스프링을 창시한 로드 존슨 씨와 직접 이야기하는 기회를 가질 수 있었습니다(그것도 이자카야에서!). 선배 엔지니어의 호의로 존슨 씨 옆에 앉을 수 있었고, 서툰 영어지만 열심히 이야기 했습니다. 존슨 씨가 쓴 '실전 J2EE 시스템 디자인' (2003년 7월, 소프트뱅크 크리에이티브)에 강한 충격을 받아, 문자 그대로 시스템 디자인을 배우기 시작한 필자가 이렇게 존슨 씨와 이야기하는 대사건이 생기는 소프트웨어 엔지니어라는 직업은 얼마나 멋진 직업인지!
이 책을 집필하면서, 필자가 쓰는 책을 계속 담당했던 소프트뱅크 크리에이티브의 미츠다 하루오씨에 감사드립니다. 전작을 함께 집필한, 필자가 몸담고 있는 크로노스의 무라야마 마사히코씨, 오쿠 키요타카씨에게도 감사드립니다. 전작이 없었다면 이 책도 나오지 못했을 것입니다. 집필에 크케 협조해 준 아내에게도 항상 고맙다는 말을 전하고 싶습니다. 정말이지 가족들이 도와주지 않는다면 책을 쓰는 것은 불가능하다는 것을 다시 한번 느꼈습니다. 지금부터는 감사하는 마음을 행동으로 바꿔가겠습니다.
_ 2010년 10월 사카타 코이치
---지은이의 말 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

어떤 독자를 위한 책인가?
-. 스프링 프레임워크를 쉽게 배우고 싶은 자바 개발자.
-. 스트럿츠나 하이버네이트 프레임워크 사용자 중 스프링으로 바꾸거나 병행해 쓰려는 개발자
  •  쿠폰은 결제 시 적용해 주세요.
1   20,000
뒤로 앞으로 맨위로 aniAlarm