PRO SPRING 2.5(프로 스프링 2.5)
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 얀 마카첵
저자 얀 마카첵(JAN MACHACEK)
얀 마카첵은 케이스 솔루션의 수석 소프트웨어 아키텍트이며, 모든 프로젝트에서 아키텍처 관련 결정의 핵심에 있는 인물이다. 아키텍처는 차치하고도, 얀은 구현에 있어 가장 복잡하고 어려운 분야들에 대해 도움을 자주 요청받는 사람이기도 하다. 얀은 1-4, 6, 9, 11, 14, 16, 22장을 저술하였다.
알렉사 부코틱(ALEKSA VUKOTIC)
알렉사 부코틱은 케이크 솔루션의 소프트웨어 아키텍트이다. 대부분의 케이크 솔루션의 프로젝트들의 구현뿐만 아니라 아키텍처를 두루 살펴보고 있다. 그는 대부분의 Java EE 기술에 대해 폭넓은 경험을 보유하고 있으며, 특히 스프링 MVC와 시큐리티에 일가견이 있다. 알렉사는 5, 8, 10, 15, 17, 21장을 저술하였다.
아너반 차크라보티(ANIRVAN CHAKRABORTY)
아너반 차크라보티는 케이크 솔루션 선임 개발자이다. 스프링 프레임워크에 대한 폭넓은 경험과 디테일한 부분에 주의를 기울이는 성격 덕분에 그는 케이크 솔루션 프로젝트의 어려운 측면들을 구현하는 역할을 하였다. 아너반은 7, 13, 19, 20장을 저술하였다.
제시카 디트(JESSICA DITT)
제시카 디트는 2008년 초부터 런던에 기반을 둔 Avenue A|Razorfish에서 개발자로 일하고 있다. 그 전에는 케이크 솔루션 팀에서 2년 반 동안 일했었다. 그는 매우 많은 엔터프라이즈급 프로젝트에서 일해왔으며, 그 모두는 스프링 프레임워크와 스프링 웹 플로우로 작성되었다. 제시카는 12, 18장을 저술하였다.
역자 백기선
스프링과 하이버네이트에 관심이 많으며, 블로그(http://whiteship.me)에서 모든 걸 공유하고 있다. 5, 6, 11장을 번역했으며, 책 전반에 걸쳐 용어정리와 감수를 맡았다.
손권남
『iBATIS 인 액션』을 번역했으며, 오픈 마루 웹 서비스팀에서 일하고 있다. 자신의 블로그(http://kwon37xi.egloos.com)에 가끔씩 부질 없는 글을 올리기도 하며, 공부하다 기억할 만한 내용들을 정리해 두기도 한다. 9, 10, 19, 20, 21, 22장을 번역했다.
박천구
자바, 오픈소스, 미디어 서비스 등에 관심을 가지고 있다. 『EJB&WebLogic』(2002, 가메출판사)을 집필했으며, 『Prototype & Scriptaculous 인 액션』(2008, 위키북스)과 『프로 웹 2.0 매시업』(2009, 위키북스)을 번역했다. 16, 17, 18장을 번역했다.
김홍회
현재 JCO 기술전략팀장 및 자바스터디 네트워크(www.javastudy.co.kr) 대표운영자로 활동하고 있으며, 동부 CNI에서 금융개발을 담당하고 있다. 주된 관심분야는 개발 방법론 및 웹서비스이다. 1, 2, 3, 4, 7장을 번역했다.
허혁
nhn 포토서비스팀에서 포토 서비스를 하고 있으며 자동화시스템과 장애 검출을 위해 그루비와 스프링 배치 적용을 확대 중이다. 8, 12, 13, 14, 15장을 번역했다.
저자(글) 알렉사 부코틱
목차
- 1부 스프링 시작하기
01장 스프링 소개
스프링이란?
? 의존성 주입을 넘어서
? 스프링과 Aspect-Oriented Programming
? 스프링에서의 데이터 접근
? Java EE의 단순화 및 연동
? 잡(job) 스케줄링 지원
? 메일 지원
? 동적 언어
? 원격 지원
? 트랜잭션 관리
? 스프링 MVC 프레임워크
? 스프링 웹 플로
? AJAX
? 국제화
? 예외 처리 단순화
스프링 프로젝트
? 스프링의 기원
? 스프링 커뮤니티
? 마이크로소프트 닷넷용 스프링
? 스프링 IDE
? 스프링 시큐리티(예전 Acegi)
? 스프링 대안책
예제 코드
02장 시작하기
스프링 프레임워크 가져오기
? CVS에서 스프링 체크아웃 하기
? 스프링 소스코드 빌드하기
? 스프링 배포판 검증하기
? 스프링 패키징
? 스프링 의존 라이브러리
? 스프링 예제 애플리케이션
? 스프링과 IDE 설정
Hello, World
“Hello, World”에 스프링 적용하기
? 의존성 주입
? 스프링의 영향력
03장 제어 역전 소개
IoC와 DI
IoC의 유형
? 문맥에 따른 의존성 룩업
? 생성자 DI
? 세터 DI
? 주입 vs. 룩업
? 세터 주입 vs. 생성자 주입
스프링의 IoC
스프링을 사용하는 DI
? 빈과 빈팩토리
? BeanFactory 구현체
? XML 빈 정의
? 생성자 주입 사용하기
? 주입 매개변수
? 빈 작명 이해하기
? 빈 인스턴스화 모드
? 의존성 처리하기
? 빈을 자동으로 연결하기
? 의존성 확인하기
? 빈 상속
04장 기초를 넘어서
스프링이 애플리케이션 이식성에 주는 영향
빈 생명 주기 관리
? 빈 생성에 끼어들기
? 빈 소멸에 끼어들기
빈이 스프링을 인식하도록 만들기
? BeanNameAware 인터페이스 사용하기
? BeanFactoryAware 인터페이스 사용하기
매소드 주입 사용하기
룩업 메서드 주입
메서드 교체
FactoryBean 사용하기
? MessageDigestFactoryBean
? FactoryBean에 직접 접근하기
BeanFactoryPostProcessor
BeanFactoryPostProcessor 구현하기
자바빈즈 PropertyEditor
? 내장 프로퍼티에디터
? 커스텀 프로퍼티에디터 만들기
BeanPostProcessor
? BeanPostProcessor 구현하기
? 빈포스트프로세서 사용 시기
스프링 애플리케이션컨텍스트
? 애플리케이션컨텍스트 구현체
? ApplicationContextAware 사용하기
? 빈 초기화 제어하기
? 애노테이션-기반 설정 사용하기
? MessageSource의 국제화
? MessageSource를 독립 애플리케이션에서 사용하기
? MessageSourceResolvable 인터페이스
? 애플리케이션 이벤트 사용하기
? 이벤트 사용에 대한 고려
? 리소스 접근
05장 스프링 AOP 소개
AOP 개념
AOP 종류
? 정적인 AOP
? 동적인 AOP
? AOP 종류 선택하기
스프링에서 AOP
? AOP 진영
? AOP로 "Hello, World"
? 스프링 AOP 아키텍처
? ProxyFactory 클래스
? 스프링에서 어드바이스 만들기
어드바이저와 포인트컷
? Pointcut 인터페이스
? ComposablePointcut 사용하기
? 포인트컷팅 요약
프록시에 관한 모든 것
? 프록시 이해하기
? JDK 동적 프록시 사용하기
? CGLIB 프록시 사용하기
? 프록시 성능 비교하기
? 어떤 프록시를 사용해야 하는가?
06장 AOP 심화 학습
@AspectJ
@AspectJ 애스팩트를 보다 자세히
? 포인트컷
? 포인트컷 표현식
? 포인트컷 표현식 살펴보기
? XML에서 @포인트컷 사용하기
? 어드바이스 종류
? 인자 바인딩
? Introduction
? 애스팩트 라이프 사이클
AOP를 지원하는 프레임워크 서비스
? aop 네임스페이스를 사용하여 첫 번째 애스팩트 작성하기
? aop 네임스페이스에서 포인트컷
? aop 네임스페이스 사용하여 어드바이스 만들기
? aop 네임스페이스에서 Introduction
어떤 스타일을 사용해야 하는가?
스프링 AOP 프록시 사용하기
? 프록시의 영향
AspectJ 연동
? 첫 번째 애스팩트 작성하기
? 예제 애플리케이션 컴파일하기
? AspectJ의 애스팩트 스코프
로드-타임 위빙
? 여러분의 첫 번째 로드-타임 위빙 예제
? LoadTimeWeaver 룩업 전략
실용적인 AOP 사용처
? 성능과 건강도 모니터링
07장 스프링 스키마와 네임스페이스
왜 새로운 설정인가?
스프링 2.5에 포함되어 있는 스키마
? beans 스키마
? context 스키마
? util 스키마
? tx 스키마
? aop 스키마
? jee 스키마
? lang 스키마
스키마 무대 뒤편에
커스텀 스키마
IDE 설정
08장 스프링 패턴
디렉터리 구조
? 단순한 애플리케이션
? 복잡한 애플리케이션
? 패키지 만들기와 이름짓기
디자인 패턴 소개
? 인터페이스 기반 프로그래밍
? 생성 패턴
? 구조 패턴
? 행위 패턴
? 템플릿 메서드
스프링 애플리케이션 패턴
? 계층 구조 설계
? 고성능 페이징
? 다중 오류 보고
? 사용자 인터페이스 트랜잭션
? 백그라운드 프로세스
? 이메일 통지
? 에러 수집과 로깅
2부 데이터 접근
09장 JDBC 지원
JDBC 핵심 개념
? DriverManager와 Connections 사용하기
? PreparedStatement 사용하기
? CallableStatement 사용하기
? 다른 JDBC 개념들
스프링 데이터 접근 지원에 대한 개념
JDBC 데이터 접근 지원
JdbcTemplate 사용하기
? JdbcTemplate.execute
? JdbcTemplate.query와 그 친구들
? JdbcTemplate.update
? JdbcTemplate.batchUpdate
RdbmsOperation 하위클래스
? sqlUpdate
? BatchSqlUpdate
? SqlCall과 StoredProcedure
? SqlQuery와 그 하위클래스들
? JdbcTemplate이냐 RdbmsOperation이냐?
대형 이진 객체
JdbcDaoSupport
간단한 스프링 JDBC
? 간단한 스프링 JDBC
? SimpleJdbcCall
? SimpleJdbcInsert
? SimpleJdbcDaoSupport
10장 iBATIS 통합하기
iBATIS는 무엇인가?
? iBATIS 버전
? 인프라스트럭처와 설정
매핑 파일
? sqlMap 파일
? iBATIS와 스프링 설정하기
데이터 질의
? 간단한 질의
? 일대일(1:1) 질의
? 일대다(1:n) 질의
? 다대다(m:n) 질의
데이터 갱신
데이터 삭제
데이터 삽입
iBATIS의 부족한 점은 무엇인가?
전반적인 성능
11장 하이버네이트 지원
하이버네이트 기초
패키징
하이버네이트 지원 소개
? 하이버네이트 세션 사용하기
? HibernateDaoSupport 사용하기
? HibernateTemplate과 Session 중에 어떤 것을 사용할지 결정하기
엔터프라이즈 애플리케이션에서 하이버네이트 사용하기
? 변경된 데이터 수정 방지하기
? 객체 동일성
? 트랜잭션 처리
? 로딩 지연
? 대규모 데이터 집합 다루기
? 큰 객체 다루기
? 하이버네이트와 다른 DAO 코드 조합하기
3부 엔터프라이즈 애플리케이션 컴포넌트
12장 스프링과 잡 스케줄링
JDK 타이머를 이용한 잡 스케줄링
? 타이머 트리거 타입
? 간단한 잡 만들기
? JDK 타이머 스케줄링에 대한 스프링 지원
OpenSymphony 쿼츠를 사용한 잡 스케줄링
쿼츠 소개하기
스프링의 쿼츠 지원
잡 스케줄링 고려사항
? 스케줄러 선택하기
? Job 클래스에서 잡 로직을 분리해서 묶기
? 작업 실행과 스레드 풀링
13장 스프링의 메일 지원
스프링 메일 API의 구조
? 스프링을 사용하여 메일 설정하기
간단한 이메일 보내기
? 프로그램상에서 이메일 구성하고 전송하기
? 선언적으로 이메일 구성하기
? MIME 메시지의 작성과 전송
? 엔터프라이즈 수준의 이메일 처리에 대해 자세히 알아보기
14장 동적 언어
지원되는 언어에 대한 기초적인 내용
? 빈쉘
? 그루비
? 제이루비
동적언어를 스프링 빈으로 사용하기
? 동적 언어 지원기능의 내부 동작 방식
? 동적 언어로 작성된 빈의 프록시 생성하기
? 성능
갱신이 가능한 빈
빈쉘로 구현한 빈
제이루비로 구현한 빈
그루비로 구현한 빈
스프링 애플리케이션에서 동적 언어의 일반적인 사용방법
4부 자바 EE 5
15장 스프링 리모팅 사용하기
스프링 리모팅 아키텍처
RMI
? 임의의 서비스 노출시키기
? 프록시를 사용한 RMI 서비스 접근
? CORBA 서비스 노출시키기
? CORBA 서비스 접속하기
JAX-RPC를 통한 웹 서비스
? 아파치 Axis 소개
? ServletEndpointSupport로 웹 서비스 만들기
? 프록시를 사용하여 RPC형식의 웹 서비스에 접근하기
? Axis 서비스에서 자바빈 이용하기
JAX-WS 웹 서비스 사용하기
? SimpleJaxWsServiceExporter를 사용하여 웹 서비스 노출하기
? XFire를 이용하여 웹 서비스 노출하기
? JAX-WS 웹 서비스에 접근하기
? 다른 클라이언트에서 자바 웹 서비스에 접근하기
HTTP Invoker를 이용하여 웹 서비스 만들기
? 간단한 서비스 노출시키기
? 프록시를 이용하여 HTTP Invoker 서비스에 접근하기
? HTTP Invoker 서비스에서 임의 객체 사용하기
? HTTP 기본 인증 사용하기
리모팅 아키텍처 선정하기
16장 트랜잭션 관리
스프링 트랜잭션의 추상화 레이어
트랜잭션의 프로퍼티
? TransactionDefinition 인터페이스
? TransactionStatus 인터페이스 사용하기
? PlatformTransactionManager의 구현
트랜잭션 관리에 대한 예제 살펴보기
? 트랜잭션이 적용되지 않은 코드
프로그래밍을 통한 트랜잭션 관리
? TransactionTemplate 클래스 사용하기
? 프로그래밍을 통한 트랜잭션 관리에 대한 요약
선언을 통한 트랜잭션 관리
? TransactionProxyFactoryBean 사용하기
? 트랜잭션 관리에 프록시를 사용하여 얻어지는 효과
AOP 트랜잭션 관리
? 애노테이션 기반의 AOP 트랜잭션 관리
? XML AOP 트랜잭션 관리 사용하기
여러 개의 트랜잭션 리소스에 트랜잭션 적용하기
트랜잭션 동기화를 직접 구현하기
17장 스프링 MVC로 웹 애플리케이션 개발하기
MVC 아키텍처
스프링 MVC
? MVC 구현
핸들러 맵핑하기
스프링 컨트롤러
? AbstractController
? ParameterizableViewController
? MultiActionController
인터셉터
뷰, 로케일, 그리고 테마
? 프로그래밍을 통해서 뷰 사용하기
? ViewResolver 사용하기
? 현지화된 메세지를 사용하기
? 로케일 사용하기
? 테마 사용하기
? 폼 컨트롤러 사용하기
? AbstractWizardFormController에 대해 알아보기
? 파일 업로드
예외 처리하기
스프링과 다른 웹 기술들
? JSP 사용하기
? 벨로시티 사용하기
? 프리마커
? XSLT 뷰
? PDF 뷰 사용하기
? 엑셀 뷰 사용하기
? 타일즈와 스프링 통합하기
? JasperReports
설정을 대신하는 스프링 컨벤션
? Controller 컨벤션
? MultiActionController 컨벤션
? Model 컨벤션
? View 컨벤션
Controller 설정에 애노테이션 사용하기
? @Controller 애노테이션
? @RequestMapping 애노테이션
? @RequestParam 애노테이션
? @ModelAttribute 애노테이션
? 애노테이션과 커맨드 컨트롤러 함께 사용하기
18장 스프링 웹 플로
스프링 웹 플로에 대한 소개
? 핵심 개념
? 스프링 웹 플로 다운로드하기
? 스프링 웹 플로의 의존성
Hello, Web Flow!
상태에 대해서 알아보기
? 뷰 상태
? 디시젼 상태
? 종료 상태
트랜지션 다루기
고급 수준의 개념
? 표현 언어와 스코프
? 액션 구현하기
? 모델 데이터 바인딩하기
? 부분적으로 뷰를 렌더링하기
? 플로의 입력/출력 파라미터를 매핑하기
? 서브플로 사용하기
스프링 웹 플로의 내부구조
? 플로의 실행 구조
? 플로 실행자
? 플로 정의 레지스트리
? 플로 실행 저장소
스프링 MVC와 통합하기
? 플로 처리
? 뷰 결정하기
스프링 보안모듈로 플로에 보안설정하기
? 1단계: SecurityFlowExecutionListener 추가하기
? 2단계: 기본적인 사용자 인증과 권한 인증의 처리
? 3단계: 플로 정의에 보안 규칙 정의하기
문제 해결 방법
? 상태 정보가 제공되도록 내비게이션 제어하기
? 브라우저의 내비게이션 메뉴에 대한 지원과 중복 폼 전송
플로 정의 테스트하기
19장 스프링과 AJAX
DWR
Installing DWR
스프링에서 DWR 설정하기
완전한 예제
DWR 설정 테스트하기
완전한 예제 실행해보기
DWR 스크립트의 기본
? 간단한 콜백 함수 사용하기
? 메타 데이터 객체 호출하기
engine.js
? 일괄 호출
? 호출 순서
? 오류와 경고 다루기
util.js
DWR과 보안
DWR의 장점과 단점
20장 스프링과 JMX
JMX 다시보기
빈 노출시키기
? MBeanExporter
? MBeanServerFactoryBean
? 빈을 이미 존재하는 MBean 서버에 노출시키기
? 빈 등록 시 동작
객체 이름 제어하기
관리 인터페이스 제어하기
? MBeanInfoAssembler 인터페이스
? MethodNameBasedMBeanInfoAssembler 인터페이스
? 자바 인터페이스를 통해 관리 인터페이스 제어하기
? 소스 레벨 메타 데이터 사용하기
스프링 JMX 원격 제어하기
? 원격 MBean 노출시키기
? 원격 MBean에 접근하기
? MBean 프록시하기
스프링 JMX에서의 통지
? 통지 감지기
? 통지 발행하기
21장 Spring에서 테스트하기
단위 테스트란?
단위 테스트
? 웹 계층 단위 테스트
통합 테스트
? AbstractSpringContextTests 사용하기
? AbstractDependencyInjectionSpringContextTests 사용하기
? AbstractTransactionalSpringContextTests 사용하기
? AbstractAnnotationAwareTransactionalTests 사용하기
? JNDI
스프링 TestContext 프레임워크
? TestContext 프레임워크에서의 애플리케이션 컨텍스트와 의존성 주입
? TestContext 프레임워크와 트랜잭션
? 지원 클래스
테스트 커버리지
22장 스프링 성능 튜닝
성능과 응답성
엔터프라이즈 애플리케이션 성능 문제 살펴보기
자바 EE 애플리케이션 성능 측정하기
? 무엇을 측정할지 알아내기
? 필요한 데이터 셋 결정하기
? 데이터 접근 계층 개선하기
? 트랜잭션 관리 개선하기
? 원격 호출의 성능 제어
? 뷰 계층의 성능에 대한 이해
캐시 사용하기
성능 테스트
애플리케이션의 건강과 성능 측정
성능 최적화에 관한 더 많은 자료
책 속으로
내가 처음 스프링 프레임워크를 학습하던 시절에는 한글로 된 책이나 문서가 거의 없었다. 유명 블로거 한두 명의 블로그에 요약되어 있던 정보가 전부였다. 하지만 어느새 ‘스프링 프레임워크 2.5’를 다룬 책이 두 권이나 출간되었고, 그 전에도 스프링관련 번역서가 두 권 출간되었다(스프링 인 액션 1, 2). 이 책은 세 번째 번역서다. 그만큼 국내에서도 스프링 인기가 급상승하고 있으며 그 입지가 넓어지고 있다는 것을 실감할 수 있다.
국내뿐만 아니라 국외에서의 인기도 직접 체험할 수 있었다. 2008년 12월, 꿈에도 그리던 스프링 컨퍼런스(Spring One America)에 다녀왔다. 스프링의 아버지이자 나의 할아버지 격인(나는 스프링의 아들이니까) 로드 존슨과 함께 멋진 포즈로 사진을 찍었을 때 그 짜릿함은 아직도 날 설레게 한다. 그 자리에 모였던 전세계 각국의 개발자들 앞에서 스프링은 위풍당당하게 말했다. “복잡도를 제압하겠다.” 라고.
아이러니하게도 스프링 자체는 점점 더 복잡해지고 있다. 계속해서 새로운 기능들이 추가되고 있고 따라서 공부할 것들이 늘어나고 있다. 저자는 2.0.x 대부터 본격적으로 학습을 했는데, 그 당시에도 이미 스프링은 상당히 복잡해 보였다. 특히 개인적으로 AOP와 MVC 부분에 상당히 많은 학습 시간을 소비했다. 기본적인 동작 원리부터 파악하고 사용법을 익히는 방법으로 학습을 했는데 동작 원리도 쉽지 않을뿐더러 사용법이 다양해서 몇 번에 걸쳐서 학습을 반복했던 경험이 있다. 특히 스프링 AOP의 프록시 메커니즘은 최근에 들어서야 이해할 수 있었다.
그럼 대체 스프링은 왜 복잡도를 제압하겠다면서 점점 더 복잡해지는 것일까? 스프링이 제압하려는 복잡도는 스프링 자체의 복잡도가 아니라 JEE의 복잡도이기 때문이다. 그것의 복잡도를 제압하기 위해서는 스프링이 더 커지고 복잡해질 수도 있다. 하지만 사용자에게는 점점 더 편리하고 간편한 방법을 제공할 것이다.
예를 들어 MVC가 그렇다. 이전 버전에서는 SimpleFormController의 복잡한 워크 플로를 개발자가 이해해야만 했고 스프링 API를 사용하더라도 Servlet API에서 완전히 벗어날 수 없었다. 하지만 스프링 2.5를 거쳐 3.0으로 가면서 스프링은 이전 MVC의 컨트롤러 계층 구조를 Deprecated 시켰고 라이브러리에서 삭제하려고 한다. 추측하건대, 그 이유는 사용하기 복잡하기 때문일 것이다. 그 대신 @MVC라고 일컫는 애노테이션들을 사용하여 POJO 스타일로 간편하게 컨트롤러를 개발할 수 있다. Servlet API를 직접 사용하지 않고도 request나 session 정보를 다룰 수 있다. 이 밖에도 2.5에 도입한 컴포넌트 스캔과 @Component 애노테이션 등 여러 기능들이 스프링이 JEE 복잡도를 제압하는 기반 시설에 해당한다고 볼 수 있다.
이렇게 점점 더 복잡해져 가는 스프링을 제대로 학습하려면 스프링의 가장 핵심부인 IoC와 AOP 원리 및 스프링의 추상화 패턴을 잘 이해하고 기본적인 기능들의 메커니즘을 이해하는 것이 중요하다. 그 뒤에는 점점 더 간편해지는 사용법만 조금씩 익히면 되기 때문에 학습 부담이 줄어든다. 『프로 스프링 2.5』는 그런 면에서 여러분에게 정말 유익한 스프링 참고서가 될 것이다.
- 옮긴이글에서
출판사 서평
< 소개 >
『프로 스프링 2.5』는 이미 국내 출간된 그 어떤 책보다도 스프링 프레임워크 2.5에 대해 상세하게 설명하고 있다. 새로 추가된 기능에 대한 내용뿐 아니라 기본 원리 및 여러 가지 사용 방법, 그리고 그 장?단점에 관해서도 자세히 설명한다. 뿐만 아니라 독자의 이해를 돕고 실무에서도 쉽게 적용할 수 있도록 다양하고 유용한 많은 예제 코드를 제공한다. 따라서 스프링을 처음 사용하는 사용자에게도 유용하지만 기존의 프로젝트에 적용한 스프링을 보다 더 스프링답게 사용하려는 사용자에게도 유용한 참고서가 될 것이다.
< 리뷰 >
최근 자바 세계는 EJB 같은 소위 ’중량’ 아키텍처에서 스프링과 같은 경량 프레임워크로의 급격한 이전을 목격하였다. CMP 같은 복잡하고 컨테이너에 의존적인 서비스와 트랜잭션 관리 시스템은 더욱 간결한 하이버네이트나 관점 지향 프로그래밍(AOP) 같은 대안들로 대체되었다. 그 핵심에서 스프링은 제어 역전(IoC)의 원칙에 기반하여 포괄적인 가벼운 컨테이너를 제공하여 그 위에서 애플리케이션을 만들 수 있게 되었다. 스프링은 이 컨테이너 위에서 매우 다양한 범위의 고품질 오픈소스 프로젝트들을 하나의 응집성 있는 프레임워크로 묶으며 무수히 많은 유용한 서비스들을 제공해 준다.
스프링 프레임워크의 품질은 전통적인 자바 EE 아키텍처를 다양한 측면에서 대체할 만큼 훌륭하며, 그 결과 매우 많은 개발자들이 포괄적인 스프링 스킬을 필요로 하게 되었다. 스프링이 꽤 폭넓은 문서와 예제를 보유하고 있음에도, 많은 개발자들이 여전히 스프링을 사용하는 방법과 어떻게 효과적으로 사용할지 이해하는 데 어려움을 겪고 있다고 생각한다. 『프로 스프링 2.5』는 이러한 어려움을 돕기 위해 쓰여졌으며, 이 책을 통해 독자 여러분들은 스프링을 사용하여 더 나은 웹과 독립 애플리케이션을 구축하는 방법과 이 프레임워크의 다양한 선택 사항들 중에 어떤 것을 사용할지 가려내는 법을 배우게 될 것이다.
이 책의 목표는 여러분 자신의 애플리케이션에서 스프링을 효율적으로 사용할 때 필요한 모든 지식을 제공하고 스프링의 내부가 어떻게 돌아가는지에 대한 통찰력을 주고자 함이다. 이 책을 읽고 난 뒤에는 스프링과 이에 관련된 오픈소스 프로젝트들을 활용하여 효과적으로 애플리케이션을 구축하는 데 필요한 지식을 갖추게 될 것이다.
< 추천의글 >
“스프링 프레임워크 버전 2.5는 스프링 프레임워크와 전반적인 엔터프라이즈 자바 프레임워크의 최신 기술들을 반영하고 있다. 성실한 자바 개발자라면 모두 이 중요한 도구에 대한 가이드 서적을 읽어볼 필요가 있다.”
- 롭 해롭, 프로 스프링 저자
기본정보
ISBN | 9788992939232 | ||
---|---|---|---|
발행(출시)일자 | 2009년 04월 28일 | ||
쪽수 | 1176쪽 | ||
크기 |
188 * 254
mm
|
||
총권수 | 1권 | ||
시리즈명 |
위키북스 오픈소스 웹 시리즈
|
||
원서명/저자명 | Pro spring 2.5/Machacek, Jan |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립