프로 스프링 3(위키북스 오픈소스 웹 시리즈 41)
스프링 프레임워크의 원리와 활용
Regular price
$50.56
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
엔터프라이즈 자바 애플리케이션 개발 마스터하기!
스프링 프레임워크의 원리와 활용『프로 스프링 3』. 스프링 프레임워크의 3.1 버전을 다루는 이 책은 광범위한 스프링 레퍼런스이자 가장 앞선 엔터프라이즈 자바 애플리케이션 개발 프레임워크의 강력한 힘을 활용하게 해주는 실전 가이드이다. 본문은 스프링의 다양한 요소를 폭넓게 다루며 언제 어떤 식으로 스프링 애플리케이션 개발에 접근해야 하는지 자세히 설명하고 있다. 또한 일반적으로 개발자들에게 익숙한 DAO 레이어를 그대로 사용하는 대신 JPA를 활용해 엔티티매니저를 서비스 레이어로 직접 주입하는 방식을 통해 최신 개발 기법을 설명하는 등 스프링 애플리케이션에서 불필요한 요소를 제거하고 애플리케이션을 유지보수하기 쉽게 관리하는 다양한 전략을 소개한다. 이를 통해 스프링의 철학을 체득할 수 있음은 물론, 모범 개발 기법을 통해 애플리케이션을 개발하는 혜안을 얻을 수 있을 것이다.
스프링 프레임워크의 원리와 활용『프로 스프링 3』. 스프링 프레임워크의 3.1 버전을 다루는 이 책은 광범위한 스프링 레퍼런스이자 가장 앞선 엔터프라이즈 자바 애플리케이션 개발 프레임워크의 강력한 힘을 활용하게 해주는 실전 가이드이다. 본문은 스프링의 다양한 요소를 폭넓게 다루며 언제 어떤 식으로 스프링 애플리케이션 개발에 접근해야 하는지 자세히 설명하고 있다. 또한 일반적으로 개발자들에게 익숙한 DAO 레이어를 그대로 사용하는 대신 JPA를 활용해 엔티티매니저를 서비스 레이어로 직접 주입하는 방식을 통해 최신 개발 기법을 설명하는 등 스프링 애플리케이션에서 불필요한 요소를 제거하고 애플리케이션을 유지보수하기 쉽게 관리하는 다양한 전략을 소개한다. 이를 통해 스프링의 철학을 체득할 수 있음은 물론, 모범 개발 기법을 통해 애플리케이션을 개발하는 혜안을 얻을 수 있을 것이다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
<프로 스프링 3>은 스프링에 대한 완벽 가이드이자 스프링답게 스프링 애플리케이션을 개발하는 법을 소개하는 최고의 지침서다. 이 책에서는 스프링의 다양한 요소를 폭넓게 다루며 언제 어떤 식으로 스프링 애플리케이션 개발에 접근해야 하는지 자세히 설명하고 있다. 그래서 이 책은 스프링을 처음 접하는 독자는 물론, 나름 스프링을 조금 안다고 하는 독자들도 꼭 읽어야 하는 스프링의 바이블 같은 책이다.
이 책은 단순히 스프링의 방대한 기능이나 API를 설명하는 데 그치지 않는다. 이 책에서는 왜 스프링의 설계 방식이 중요하고, 스프링답게 애플리케이션을 설계하고 구현하는 게 이로운지 자세히 설명한다. 또 스프링이 제공하는 다양한 옵션 사이에서(이를테면 XML 설정, 애노테이션 설정, 자바 설정 등) 언제 어떤 옵션을 택하는 게 가장 적합한지 다양한 실전 사례를 통해 설명한다. 그래서 이 책을 읽다 보면 자연스럽게 스프링의 철학을 체득할 수 있고, 모범 개발 기법을 통해 애플리케이션을 개발하는 혜안을 얻을 수 있다.
또, 최신 스프링 환경에 맞게 다양한 최신 기법을 소개하는 것도 빼먹지 않는다. 예컨대 스프링 3.1에서 새로 도입된 프로필 기능을 활용해 설정을 분리하는 기법이나 서블릿 3.0 컨테이너의 멀티파트 지원 기능을 활용한 파일 업로드 기능을 활용한 예제가 이에 해당한다. 더불어 저자는 일반적으로 개발자들에게 익숙한 DAO 레이어를 그대로 사용하는 대신 JPA를 활용해 엔티티매니저를 서비스 레이어로 직접 주입하는 방식을 통해 최신 개발 기법을 설명하는 등 스프링 애플리케이션에서 불필요한 요소를 제거하고 애플리케이션을 유지보수하기 쉽게 관리하는 다양한 전략을 소개한다.
이 책에서는 각기 다른 스프링 관련 주제를 폭넓게 다루는 동시에 모든 기능을 한데 아우르는 대규모 애플리케이션의 개발도 함께 진행한다. 이 책에서 계속해서 개발하는 SpringBlog 애플리케이션은 스프링 코어, 스프링 MVC, 스프링 시큐리티, AOP를 통한 필터링, 스프링 뷰 기술(Ajax, 제이쿼리), 아파치 타일즈, 스프링 배치, 스프링 인티그레이션 등 가히 스프링의 모든 기능을 담았다고 해도 과언이 아닐 정도로 방대하다. 따라서 독자들은 각 장을 통해 스프링 관련 지식을 쌓을 수 있음은 물론 SpringBlog 예제를 통해 전체적인 맥락에서 스프링을 이해하고 각 요소가 서로 어떻게 연동되는지 한눈에 볼 수 있다.
<프로 스프링 3>으로 엔터프라이즈 자바 애플리케이션 개발을 마스터하자. 스프링 프레임워크의 3.1 버전을 다루는 이 책은 광범위한 스프링 레퍼런스이자 가장 앞선 엔터프라이즈 자바 애플리케이션 개발 프레임워크의 강력한 힘을 활용하게 해주는 실전 가이드다.
저자인 클라렌스 호와 롭 해롭은 스프링의 핵심 및 하이버네이트, 마이바티스, EJB과 같은 다른 선도 자바 기술과의 연동을 다룬다. 저자들은 자신들의 혜안과 실전 경험을 바탕으로 리모팅, 트랜잭션, 웹과 프레젠테이션 티어 등 다양한 엔터프라이즈 애플리케이션 개발법을 설명한다. 또 모든 기능을 갖춘 예제 애플리케이션을 통해 이 책에서 소개한 많은 기술과 기법을 적용하는 법을 보여주고 이들 기술이 어떻게 서로 연동되는지 살펴본다.
★ 이 책에서 다루는 내용 ★
■ 제어 역전(IoC) 및 의존성 주입(DI)의 사용법
■ 스프링의 관점 지향 프로그래밍(AOP) 사용법 및 AOP의 중요성
■ 스프링 MVC 및 웹 플로우를 활용한 스프링 기반 웹 애플리케이션 개발법
■ 그루비 같은 스크립트 언어를 통한 애플리케이션 기능 개선법
머리끝부터 발끝까지 복잡한 스프링 애플리케이션을 개발할 수 있는 지식으로 자신을 무장하자. 이 책은 처음으로 스프링을 배우거나 스프링 프레임워크를 거의 접한 적이 없는 숙련된 자바 개발자를 위한 책이다. 이 책은 엔터프라이즈 자바 애플리케이션 개발 또는 설계에 참여하고 있는 독자를 대상으로 한다.
이 책은 단순히 스프링의 방대한 기능이나 API를 설명하는 데 그치지 않는다. 이 책에서는 왜 스프링의 설계 방식이 중요하고, 스프링답게 애플리케이션을 설계하고 구현하는 게 이로운지 자세히 설명한다. 또 스프링이 제공하는 다양한 옵션 사이에서(이를테면 XML 설정, 애노테이션 설정, 자바 설정 등) 언제 어떤 옵션을 택하는 게 가장 적합한지 다양한 실전 사례를 통해 설명한다. 그래서 이 책을 읽다 보면 자연스럽게 스프링의 철학을 체득할 수 있고, 모범 개발 기법을 통해 애플리케이션을 개발하는 혜안을 얻을 수 있다.
또, 최신 스프링 환경에 맞게 다양한 최신 기법을 소개하는 것도 빼먹지 않는다. 예컨대 스프링 3.1에서 새로 도입된 프로필 기능을 활용해 설정을 분리하는 기법이나 서블릿 3.0 컨테이너의 멀티파트 지원 기능을 활용한 파일 업로드 기능을 활용한 예제가 이에 해당한다. 더불어 저자는 일반적으로 개발자들에게 익숙한 DAO 레이어를 그대로 사용하는 대신 JPA를 활용해 엔티티매니저를 서비스 레이어로 직접 주입하는 방식을 통해 최신 개발 기법을 설명하는 등 스프링 애플리케이션에서 불필요한 요소를 제거하고 애플리케이션을 유지보수하기 쉽게 관리하는 다양한 전략을 소개한다.
이 책에서는 각기 다른 스프링 관련 주제를 폭넓게 다루는 동시에 모든 기능을 한데 아우르는 대규모 애플리케이션의 개발도 함께 진행한다. 이 책에서 계속해서 개발하는 SpringBlog 애플리케이션은 스프링 코어, 스프링 MVC, 스프링 시큐리티, AOP를 통한 필터링, 스프링 뷰 기술(Ajax, 제이쿼리), 아파치 타일즈, 스프링 배치, 스프링 인티그레이션 등 가히 스프링의 모든 기능을 담았다고 해도 과언이 아닐 정도로 방대하다. 따라서 독자들은 각 장을 통해 스프링 관련 지식을 쌓을 수 있음은 물론 SpringBlog 예제를 통해 전체적인 맥락에서 스프링을 이해하고 각 요소가 서로 어떻게 연동되는지 한눈에 볼 수 있다.
<프로 스프링 3>으로 엔터프라이즈 자바 애플리케이션 개발을 마스터하자. 스프링 프레임워크의 3.1 버전을 다루는 이 책은 광범위한 스프링 레퍼런스이자 가장 앞선 엔터프라이즈 자바 애플리케이션 개발 프레임워크의 강력한 힘을 활용하게 해주는 실전 가이드다.
저자인 클라렌스 호와 롭 해롭은 스프링의 핵심 및 하이버네이트, 마이바티스, EJB과 같은 다른 선도 자바 기술과의 연동을 다룬다. 저자들은 자신들의 혜안과 실전 경험을 바탕으로 리모팅, 트랜잭션, 웹과 프레젠테이션 티어 등 다양한 엔터프라이즈 애플리케이션 개발법을 설명한다. 또 모든 기능을 갖춘 예제 애플리케이션을 통해 이 책에서 소개한 많은 기술과 기법을 적용하는 법을 보여주고 이들 기술이 어떻게 서로 연동되는지 살펴본다.
★ 이 책에서 다루는 내용 ★
■ 제어 역전(IoC) 및 의존성 주입(DI)의 사용법
■ 스프링의 관점 지향 프로그래밍(AOP) 사용법 및 AOP의 중요성
■ 스프링 MVC 및 웹 플로우를 활용한 스프링 기반 웹 애플리케이션 개발법
■ 그루비 같은 스크립트 언어를 통한 애플리케이션 기능 개선법
머리끝부터 발끝까지 복잡한 스프링 애플리케이션을 개발할 수 있는 지식으로 자신을 무장하자. 이 책은 처음으로 스프링을 배우거나 스프링 프레임워크를 거의 접한 적이 없는 숙련된 자바 개발자를 위한 책이다. 이 책은 엔터프라이즈 자바 애플리케이션 개발 또는 설계에 참여하고 있는 독자를 대상으로 한다.
목차
목차
▣ 01장_스프링 소개
스프링이란?
- 제어 역전 또는 의존성 주입
- 의존성 주입의 발전 과정
- 의존성 주입을 넘어
스프링 프로젝트
- 스프링의 기원
- 스프링 커뮤니티
- Spring .NET
- 스프링소스 툴 스위트/스프링 IDE
- 스프링 시큐리티 프로젝트
- 스프링 배치 및 스프링 인티그레이션
- 그 외 많은 프로젝트
스프링의 대안
- JBoss Seam 프레임워크
- 구글 주스
- PicoContainer
- JEE 6 컨테이너
정리
▣ 02장_스프링 시작하기
스프링 프레임워크 내려받기
- 표준 배포판 내려받기
- 깃허브를 통한 스프링 체크아웃
스프링 패키징의 이해
- 스프링 모듈
- 애플리케이션에 적합한 모듈 선택
- 메이븐 저장소의 스프링 모듈
스프링 의존성 분석
예제 애플리케이션
- 스프링 예제 소스코드 내려받기
- Petclinic 애플리케이션
- Petclinic 그루비 애플리케이션
- jPetStore 애플리케이션
- 스프링 설정 기본 애플리케이션
- 스프링 작업과 스케줄링 애플리케이션
- 스프링 MVC 쇼케이스 애플리케이션
- 스프링 MVC 기본과 Ajax 애플리케이션
- 스프링 Petcare 애플리케이션
- 스프링 웹플로우 애플리케이션
스프링 문서
스프링을 활용한 'Hello World!' 출력
- 예제 'Hello World!' 애플리케이션 개발
- STS에서의 스프링 프로젝트 생성
정리
▣ 03장_예제 애플리케이션
SpringBlog 애플리케이션의 요구 조건
- 보안과 인증
- 블로그 글 보기
- 블로그 글 올리기
- 블로그 글에 댓글 달기
- 비속어 필터링하기
- 블로그 글이나 댓글에 파일 첨부하기
- 블로그 행동 오디팅하기
- RSS 피드
- XML 파일로 블로그 업로드하기
- SpringBlog의 구현
- 개발 툴과 의존성 관리
- 애플리케이션 설계
- 애플리케이션 설정 관리
- SpringBlog의 계층화된 애플리케이션 아키텍처
- 영속성 레이어의 구현
- 서비스 레이어의 구현
- AOP를 활용한 비속어 필터링
정리
▣ 04장_스프링의 IoC 및 DI 소개
제어 역전과 의존성 주입
제어 역전의 종류
- 의존성 풀
- 컨텍스트화된 의존성 룩업
- 생성자 의존성 주입
- 세터 의존성 주입
- 주입 vs. 룩업
- 세터 주입 vs. 생성자 주입
스프링의 제어 역전
스프링을 통한 의존성 주입
- 빈 및 빈팩터리
- BeanFactory 구현체
- ApplicationContext
ApplicationContext의 설정
- 스프링 설정 옵션(XML 및 자바 애노테이션)
- 스프링 컴포넌트의 선언
- 세터 주입의 활용
- 생성자 주입의 활용
- 주입 파라미터
- 메서드 주입
- 빈 이름 지정 방식의 이해
- 빈 인스턴스화 모드
의존성 리졸브
빈 자동 연결
- 자동 연결 모드
- 자동 연결을 사용할 시점
빈 상속
정리
▣ 05장_스프링 설정 상세
스프링이 애플리케이션 이식성에 미치는 영향
빈 생명주기 관리
- 빈 생성 시점에 대한 개입
- 빈 소멸에 대한 개입
빈의 스프링 인식
- BeanNameAware 인터페이스의 사용
- ApplicationContextAware 인터페이스의 사용
FactoryBean의 사용
- 커스텀 FactoryBean 예제: MessageDigestFactoryBean
- FactoryBean 직접 접근
- factory-bean 및 factory-method 어트리뷰트의 사용
자바빈 프로퍼티에디터
- 내장 프로퍼티에디터
- 커스텀 PropertyEditor의 생성
스프링 ApplicationContext 설정 살펴보기
- MessageSource를 활용한 국제화
- 단독 실행형 애플리케이션에서의 MessageSource 사용
- MessageSourceResolvable 인터페이스
- 애플리케이션 이벤트
- 리소스 접근
자바 클래스를 활용한 설정
- 자바를 활용한 ApplicationContext 설정
- 자바 설정과 XML 설정 사이의 선택
프로필
- 스프링 프로필을 사용한 예제
- 사용자 프로필에 대한 고려 사항
Environment와 PropertySource 추상화
JSR-330 애노테이션을 활용한 설정
정리
▣ 06장_스프링 AOP 소개
AOP 개념
AOP의 종류
- 정적 AOP
- 동적 AOP
- AOP 방식의 선택
스프링에서의 AOP
- AOP 연합
- AOP를 활용한 'Hello World!'
- 스프링 AOP 아키텍처
- ProxyFactory 클래스에 대한 소개
- 스프링에서의 어드바이스 생성
스프링의 어드바이저와 포인트컷
- Pointcut 인터페이스
프록시의 이해
- JDK 동적 프록시의 사용
- CGLIB 프록시의 사용
- 프록시 성능 비교
- 어떤 프록시를 사용할까?
정리
▣ 07장_스프링 AOP와 애노테이션 활용
포인트컷의 고급 활용
- 제어 흐름 포인트컷의 사용
- ComposablePointcut의 활용
- 합성 및 Pointcut 인터페이스
- 포인트컷 정리
인트로덕션의 시작
- 인트로덕션 기본
- 인트로덕션을 통한 객체 수정 감지
- 인트로덕션 정리
AOP 프레임워크 서비스
- 선언적인 AOP 설정
- ProxyFactoryBean의 사용
- aop 네임스페이스 사용
- @AspectJ 방식의 애노테이션 활용
- 선언적 스프링 AOP 설정에 대한 고려 사항
AspectJ 연동
- AspectJ 소개
- 싱글턴 애스펙트의 활용
예제 애플리케이션의 AOP
- SpringBlog의 비속어 필터링
정리
▣ 08장_스프링 JDBC 지원
예제 코드의 예제 데이터 모델
JDBC 인프라스트럭처 살펴보기
스프링 JDBC 인프라스트럭처
- 개요 및 사용 패키지
- 데이터베이스 커넥션과 데이터소스
- 임베디드 데이터베이스 지원
DAO 클래스의 데이터소스 활용
예외 처리
JdbcTemplate 클래스
- DAO 클래스에서의 JdbcTemplate- 초기화
- 단일 값을 조회하는 JdbcTemplate 클래스의 사용
- NamedParameterJdbcTemplate를 통한 네임드 파라미터의 활용
- RowMapper를 활용한 도메인 객체 조회
- ResultSetExtractor를 활용한 중첩 도메인 객체 조회
JDBC 작업을 모델링하는 스프링 클래스
- 애노테이션을 사용한 JDBC DAO 설정
- MappingSqlQuery를 활용한 데이터 쿼리
- SqlUpdate를 활용한 데이터 업데이트
- 데이터 삽입 및 생성 키 조회
- BatchSqlUpdate를 활용한 배치 작업
- SqlFunction을 활용한 저장 함수 호출
자바 설정의 활용
스프링 데이터 프로젝트 -- JDBC 확장 프로젝트
JDBC 사용에 대한 고려사항
정리
▣ 09장_하이버네이트 활용
STS를 통한 하이버네이트 유틸리티 프로젝트 생성
예제 코드에 사용할 예제 데이터
하이버네이트 SessionFactory 설정
하이버네이트 애노테이션을 활용한 ORM 매핑
- 간단한 매핑
- 일대다 매핑
- 다대다 매핑
하이버네이트 Session 인터페이스
하이버네이트를 활용한 데이터베이스 작업
- 하이버네이트 쿼리 언어를 활용한 데이터 쿼리
- 데이터 삽입
- 데이터 업데이트
- 데이터 삭제
하이버네이트 사용에 대한 고려 사항
정리
▣ 10장_JPA2를 활용한 데이터 접근
JPA 2 소개
- STS에서의 스프링 JPA 유틸리티 프로젝트 생성
- 예제 코드의 예제 데이터
- JPA EntityManagerFactory의 설정
- JPA 애노테이션을 활용한 ORM 매핑
- DAO 레이어의 제거
- 서비스 레이어 클래스로의 EntityManager 주입
JPA를 활용한 데이터 작업
- 자바 영속성 쿼리 언어를 활용한 데이터 쿼리
- 데이터 삽입
- 데이터 업데이트
- 데이터 삭제
- 네이티브 쿼리
- JPA 2 기준 API를 활용한 기준 쿼리
스프링 데이터 JPA 소개
- 스프링 데이터 JPA 라이브러리 의존성 추가
- 스프링 데이터 JPA 저장소 추상화를 활용한 데이터베이스 작업
- 엔티티 클래스의 변화 추적
하이버네이트 엔버스를 활용한 엔티티 버전 관리
- 하이버네이트 엔버스 의존성 추가
- 엔티티 버전 관리 테이블의 추가
- 엔티티 버전 관리를 위한 EntityManagerFactory 설정
- 엔티티 버전 관리와 히스토리 조회에 필요한 코드 수정
- 엔티티 버전 관리 테스트
JPA 사용에 대한 고려 사항
예제 애플리케이션에선의 JPA 활용
- 데이터베이스 백엔드
- JPA를 영속성 레이어 구현체로 활용
- 오디팅과 엔티티 버전 관리
정리
▣ 11장_마이바티스 활용
스프링에서 마이바티스 시작하기
- 마이바티스 소개
- STS에서 마이바티스 지원 기능을 갖춘 유틸리티 프로젝트의 생성
- 예제 코드에서 사용할 예제 데이터 모델
- MyBatis SqlSessionFactory와 MapperScannerConfigurer 설정
마이바티스의 SQL 매핑
- 매퍼 인터페이스와 SQL 매핑 파일
- SQL 매핑 XML 설정
마이바티스를 활용한 데이터베이스 작업
- 데이터 조회
- 데이터 삽입
- 데이터 업데이트
- 데이터 삭제
마이바티스 사용에 대한 고려사항
예제 애플리케이션의 마이바티스 활용
- 데이터베이스 백엔드
- 마이바티스를 활용한 영속성 레이어 구현체
- 오디팅과 엔티티 버전 관리
정리
▣ 12장_스프링 기반 애플리케이션의 설계와 구현
인터페이스를 통한 설계
- 인터페이스로 설계해야 하는 이유
- 팩터리 패턴
- 인터페이스 기반 설계에 미치는 스프링의 영향
도메인 객체 모델의 개발
- 스프링과 도메인 객체 모델
- DOM은 값 객체와 다르다
- 도메인 객체 모델의 생성 이유
- 도메인 객체 모델링
- 동작 캡슐화 여부에 대한 결정
SpringBlog 도메인 객체 모델
- 도메인 객체 모델 정리
데이터 접근 레이어의 설계 및 개발
- 현실적인 설계 고려 사항
- 데이터 접근 레이어 정리
서비스 레이어의 설계
- 서비스 레이어가 필요한 이유
- 비즈니스 인터페이스의 설계
- 서비스 레이어 정리
정리
▣ 13장_트랜잭션 관리
스프링 트랜잭션 추상 레이어 살펴보기
- 트랜잭션의 종류
- PlatformTransactionManager의 구현체
트랜잭션 속성의 분석
- TransactionDefinition 인터페이스
- TransactionStatus 인터페이스
예제 데이터 모델과 예제 코드의 인프라스트럭처
- 의존성을 포함한 간단한 스프링 JPA 유틸리티 프로젝트 생성
- 예제 데이터 모델과 공통 클래스
스프링의 선언적 트랜잭션과 프로그래밍적 트랜잭션
- 애노테이션 활용한 트랜잭션 관리
- XML 설정을 활용한 트랜잭션 관리
- 프로그래밍적 트랜잭션
- 트랜잭션 관리에 대한 고려 사항
스프링의 전역 트랜잭션
- JTA 예제 구현에 필요한 인프라스트럭처
- JTA를 활용한 전역 트랜잭션 구현
- JTA 트랜잭션 매니저 사용에 대한 고려 사항
정리
▣ 14장_타입 변환과 포매팅을 활용한 유효성 검증
STS를 통한 예제 프로젝트의 생성
스프링 타입 변환 시스템
- PropertyEditor를 활용한 스프링의 변환
- 스프링 3 타입 변환 소개
스프링 3의 필드 포매팅
- 커스텀 포매터의 구현
- ConversionServiceFactoryBean의 설정
스프링의 유효성 검증
- 스프링 Validator 인터페이스의 활용
- JSR-303 빈 유효성 검증의 활용
- 어떤 유효성 검증 API를 써야 할까?
예제 애플리케이션의 타입 변환과 포매팅을 활용한 유효성 검증
정리
STS를 통한 예제 프로젝트 생성
▣ 15장_작업 스케줄링
스프링의 작업 스케줄링
- 스프링 TaskScheduler 추상화 소개
- 간단한 작업
- task 네임스페이스를 활용한 작업 스케줄링
- 애노테이션을 활용한 작업 스케줄링
스프링의 비동기적 작업 실행
예제 애플리케이션의 작업 스케줄링
정리
▣ 16장_스프링 리모팅 활용
STS를 통한 예제 프로젝트 생성
예제에 사용할 서비스 레이어의 구현
- JPA 백엔드에 필요한 의존성 추가
- 프로젝트의 확인
- 예제의 데이터 모델
- ContactService의 구현 및 설정
스프링 HTTP 호출자의 활용
- 서비스의 노출
- 서비스의 호출
스프링의 JMS 활용
- ActiveMQ 설정
- 스프링에서의 JMS 리스너 구현
- 스프링에서의 JMS 메시지 전송
스프링에서의 RESTful-WS 활용
- RESTful 웹 서비스의 소개
- 예제에 필요한 의존성의 추가
- 연락처 RESTful 웹 서비스
- 스프링 MVC를 활용한 RESTful 웹 서비스 노출
- curl을 활용한 RESTful-WS 테스트
- RestTemplate을 활용한 RESTful-WS 접근
- 스프링 시큐리티를 활용한 RESTful-WS 보호
- RESTful 웹 서비스에서의 JSR-303 활용
예제 애플리케이션에서의 리모팅
정리
▣ 17장_스프링 웹 애플리케이션
STS를 통한 예제 프로젝트 생성
- 예제의 서비스 레이어 구현
- 예제에 사용할 데이터 모델
ContactService의 구현 및 설정
MVC 및 스프링 MVC 소개
- MVC 소개
- 스프링 MVC 소개
스프링 MVC의 첫 번째 뷰 생성
- DispatcherServlet의 설정
- ContactController의 구현
- 연락처 목록 뷰의 구현
- 연락처 목록 뷰의 테스트
스프링 MVC 프로젝트 구조의 개요
i18n(국제화)
- DispatcherServlet 설정에서의 i18n 설정
- 연락처 목록 뷰에 i18n 지원 기능 추가
테마와 템플릿
- 테마 지원
- 아파치 타일즈를 활용한 뷰 템플릿
연락처 정보 뷰의 구현
- URL의 뷰 매핑
- 연락처 표시 뷰의 구현
- 연락처 편집 뷰의 구현
- 연락처 추가 뷰의 구현
- JSR-303 빈 유효성 검증 활성화
제이쿼리 및 제이쿼리 UI의 활용
- 제이쿼리 및 제이쿼리 UI의 소개
- 뷰에서의 제이쿼리 및 제이쿼리 UI 활성화
- CKEditor를 통한 리치 텍스트 편집
- jqGrid를 활용한 페이지형 데이터 그리드
파일 업로드 처리
- 파입 업로드 지원의 설정
- 파일 업로드 지원을 위한 컨트롤러 수정
스프링 시큐리티를 활용한 웹 애플리케이션 보호
- 스프링 시큐리티 설정
- 애플리케이션의 로그인 기능 추가
- 애노테이션을 활용한 컨트롤러 메서드 보호
서블릿 3 코드 기반 설정의 지원
예제 애플리케이션에서의 스프링 MVC
- SpringBlog의 MVC 구현체
- 리치 사용자 인터페이스와 Ajax
- 보안 지원
- 서블릿 3.0 지원
정리
▣ 18장_스프링 웹 플로우와 JSF
예제 백엔드 프로젝트
- 예제 백엔드 서비스 레이어
- STS에서의 예제 백엔드 임포트
스프링 웹 플로우 소개
- 스프링 웹 플로우 모델
- 스프링 웹 플로우의 기능
JSF 소개
- 뷰
- 모델 상호작용
- 내비게이션
- 애플리케이션 생명 주기
스프링 웹 플로우 애플리케이션 예제
- 예제 플로우의 설계
- 프로젝트 구조
스프링 웹 플로우 및 JSF 설정
- 필요한 의존성의 추가
- JSF의 설정
- 웹 배포 디스크립터의 설정
- 스프링 웹 플로우 및 스프링 MVC 설정
예제 플로우의 구현
- 플로우 정의
- 템플릿 페이지의 구현
- 커스텀 변환기의 구현
- 컨트롤러 및 지원 빈의 구현
- 연락처 보기 뷰의 구현
연락처 추가 플로우의 구현
- 1단계: 기본 정보 입력
- 2단계: 취미 선택
- 3단계: 정보 검토
- 4단계: 연락처 추가 완료
정리
▣ 19장_스프링 테스트
예제 웹 애플리케이션 프로젝트
- STS에서의 예제 백엔드 임포트
엔터프라이즈 테스트 프레임워크 소개
논리 단위 테스트의 구현
- 필요한 의존성의 추가
- 스프링 MVC 컨트롤러 단위 테스트
통합 단위 테스트의 구현
- 필요한 의존성의 추가
- 서비스 레이어 테스트에 필요한 프로필 설정
- 인프라스트럭처 클래스의 구현
- 서비스 레이어의 단위 테스트
프론트엔드 단위 테스트의 구현
- 필요한 의존성의 추가
- Selenium 소개
- 프론트엔드 UI의 테스트 케이스 구현
테스트 케이스 코드 커버리지의 확인
정리
▣ 20장_스프링 프로젝트: 배치, 인티그레이션, 루
예제 프로젝트
- STS에서 예제 백엔드 불러오기
스프링 배치 소개
- 배치 작업 흐름과 처리
- 스프링 배치 인프라스트럭처 컴포넌트
스프링 배치 메타데이터
- 작업 실행 정책
배치 작업의 구현
- 필요한 의존성의 추가
- 스프링 배치 인프라스트럭처 설정
- 연락처 불러오기 작업의 구현
스프링 인티그레이션과 연동한 스프링 배치 활용
- 스프링 인티그레이션의 소개
- 필요한 의존성의 추가
- 파일 폴링 메커니즘의 구현
스프링 루 소개
- STS에서의 스프링 루 설정
- 스프링 루 프로젝트의 생성
- 프레젠테이션 레이어와 엔티티 클래스의 설정
- 서비스 레이어의 설정
- 프레젠테이션 레이어의 설정
- 스프링 루 애드온
- 스프링 루에 대한 결론
예제 애플리케이션에서의 스프링 배치 및 스프링 인티그레이션 활용
정리
▣ 21장_예제 애플리케이션 살펴보기
예제 애플리케이션의 설정
- 프로젝트 설정
- MySQL과 H2 데이터베이스 사이의 전환
- JPA와 마이바티스 구현체 사이의 전환
애플리케이션 설계
- 데이터 모델
- 도메인 객체 모델
- UML 모델
설정 상세 정보
구현체 상세 내용
- 서비스 레이어 구현체
- AOP를 활용한 비속어 필터
- 오디팅 데이터를 정리하는 작업 스케줄링
- 프레젠테이션 레이어
- 웹 리소스 파일 폴더 구조
정리
▣ 22장_스프링의 스크립트 지원
예제 프로젝트
- 간단한 스프링 유틸리티 프로젝트의 생성
- 이클립스용 그루비 플러그인의 설치
자바의 스크립트 지원
그루비의 소개
- 동적 타입 지정
- 단순한 구문
- 클로저
그루비와 스프링의 활용
- 필요한 의존성의 추가
- Contact 도메인
- 규칙 엔진의 구현
- 규칙 팩터리를 갱신 가능 빈으로 구현
- 나이 카테고리 규칙의 테스트
정리
▣ 23장_스프링 애플리케이션 모니터링
예제 프로젝트
스프링의 JMX 지원
- 스프링 빈의 JMX 익스포트
- JMX 모니터링을 위한 VisualVM 설정
- 로그인 사용자 모니터링
- 하이버네이트 통계 모니터링
- 스프링 배치 작업 모니터링
스프링 인사이트를 활용한 애플리케이션 모니터링
- 스프링 인사이트 소개
- 스프링 인사이트의 설정
- 스프링 인사이트 활용
정리
▣ 부록_스프링소스 툴 스위트
STS 소개
STS 설치
- STS 단독 실행 버전 설치
- 기존 이클립스 환경 대상 STS 설치
프로젝트 설정 및 의존성 관리
- 간단한 스프링 유틸리티 프로젝트의 생성
- 프로젝트 의존성 관리
STS 활용법
- STS 플러그인 설치
- STS에서의 VMware tc 서버 설정
정리
스프링이란?
- 제어 역전 또는 의존성 주입
- 의존성 주입의 발전 과정
- 의존성 주입을 넘어
스프링 프로젝트
- 스프링의 기원
- 스프링 커뮤니티
- Spring .NET
- 스프링소스 툴 스위트/스프링 IDE
- 스프링 시큐리티 프로젝트
- 스프링 배치 및 스프링 인티그레이션
- 그 외 많은 프로젝트
스프링의 대안
- JBoss Seam 프레임워크
- 구글 주스
- PicoContainer
- JEE 6 컨테이너
정리
▣ 02장_스프링 시작하기
스프링 프레임워크 내려받기
- 표준 배포판 내려받기
- 깃허브를 통한 스프링 체크아웃
스프링 패키징의 이해
- 스프링 모듈
- 애플리케이션에 적합한 모듈 선택
- 메이븐 저장소의 스프링 모듈
스프링 의존성 분석
예제 애플리케이션
- 스프링 예제 소스코드 내려받기
- Petclinic 애플리케이션
- Petclinic 그루비 애플리케이션
- jPetStore 애플리케이션
- 스프링 설정 기본 애플리케이션
- 스프링 작업과 스케줄링 애플리케이션
- 스프링 MVC 쇼케이스 애플리케이션
- 스프링 MVC 기본과 Ajax 애플리케이션
- 스프링 Petcare 애플리케이션
- 스프링 웹플로우 애플리케이션
스프링 문서
스프링을 활용한 'Hello World!' 출력
- 예제 'Hello World!' 애플리케이션 개발
- STS에서의 스프링 프로젝트 생성
정리
▣ 03장_예제 애플리케이션
SpringBlog 애플리케이션의 요구 조건
- 보안과 인증
- 블로그 글 보기
- 블로그 글 올리기
- 블로그 글에 댓글 달기
- 비속어 필터링하기
- 블로그 글이나 댓글에 파일 첨부하기
- 블로그 행동 오디팅하기
- RSS 피드
- XML 파일로 블로그 업로드하기
- SpringBlog의 구현
- 개발 툴과 의존성 관리
- 애플리케이션 설계
- 애플리케이션 설정 관리
- SpringBlog의 계층화된 애플리케이션 아키텍처
- 영속성 레이어의 구현
- 서비스 레이어의 구현
- AOP를 활용한 비속어 필터링
정리
▣ 04장_스프링의 IoC 및 DI 소개
제어 역전과 의존성 주입
제어 역전의 종류
- 의존성 풀
- 컨텍스트화된 의존성 룩업
- 생성자 의존성 주입
- 세터 의존성 주입
- 주입 vs. 룩업
- 세터 주입 vs. 생성자 주입
스프링의 제어 역전
스프링을 통한 의존성 주입
- 빈 및 빈팩터리
- BeanFactory 구현체
- ApplicationContext
ApplicationContext의 설정
- 스프링 설정 옵션(XML 및 자바 애노테이션)
- 스프링 컴포넌트의 선언
- 세터 주입의 활용
- 생성자 주입의 활용
- 주입 파라미터
- 메서드 주입
- 빈 이름 지정 방식의 이해
- 빈 인스턴스화 모드
의존성 리졸브
빈 자동 연결
- 자동 연결 모드
- 자동 연결을 사용할 시점
빈 상속
정리
▣ 05장_스프링 설정 상세
스프링이 애플리케이션 이식성에 미치는 영향
빈 생명주기 관리
- 빈 생성 시점에 대한 개입
- 빈 소멸에 대한 개입
빈의 스프링 인식
- BeanNameAware 인터페이스의 사용
- ApplicationContextAware 인터페이스의 사용
FactoryBean의 사용
- 커스텀 FactoryBean 예제: MessageDigestFactoryBean
- FactoryBean 직접 접근
- factory-bean 및 factory-method 어트리뷰트의 사용
자바빈 프로퍼티에디터
- 내장 프로퍼티에디터
- 커스텀 PropertyEditor의 생성
스프링 ApplicationContext 설정 살펴보기
- MessageSource를 활용한 국제화
- 단독 실행형 애플리케이션에서의 MessageSource 사용
- MessageSourceResolvable 인터페이스
- 애플리케이션 이벤트
- 리소스 접근
자바 클래스를 활용한 설정
- 자바를 활용한 ApplicationContext 설정
- 자바 설정과 XML 설정 사이의 선택
프로필
- 스프링 프로필을 사용한 예제
- 사용자 프로필에 대한 고려 사항
Environment와 PropertySource 추상화
JSR-330 애노테이션을 활용한 설정
정리
▣ 06장_스프링 AOP 소개
AOP 개념
AOP의 종류
- 정적 AOP
- 동적 AOP
- AOP 방식의 선택
스프링에서의 AOP
- AOP 연합
- AOP를 활용한 'Hello World!'
- 스프링 AOP 아키텍처
- ProxyFactory 클래스에 대한 소개
- 스프링에서의 어드바이스 생성
스프링의 어드바이저와 포인트컷
- Pointcut 인터페이스
프록시의 이해
- JDK 동적 프록시의 사용
- CGLIB 프록시의 사용
- 프록시 성능 비교
- 어떤 프록시를 사용할까?
정리
▣ 07장_스프링 AOP와 애노테이션 활용
포인트컷의 고급 활용
- 제어 흐름 포인트컷의 사용
- ComposablePointcut의 활용
- 합성 및 Pointcut 인터페이스
- 포인트컷 정리
인트로덕션의 시작
- 인트로덕션 기본
- 인트로덕션을 통한 객체 수정 감지
- 인트로덕션 정리
AOP 프레임워크 서비스
- 선언적인 AOP 설정
- ProxyFactoryBean의 사용
- aop 네임스페이스 사용
- @AspectJ 방식의 애노테이션 활용
- 선언적 스프링 AOP 설정에 대한 고려 사항
AspectJ 연동
- AspectJ 소개
- 싱글턴 애스펙트의 활용
예제 애플리케이션의 AOP
- SpringBlog의 비속어 필터링
정리
▣ 08장_스프링 JDBC 지원
예제 코드의 예제 데이터 모델
JDBC 인프라스트럭처 살펴보기
스프링 JDBC 인프라스트럭처
- 개요 및 사용 패키지
- 데이터베이스 커넥션과 데이터소스
- 임베디드 데이터베이스 지원
DAO 클래스의 데이터소스 활용
예외 처리
JdbcTemplate 클래스
- DAO 클래스에서의 JdbcTemplate- 초기화
- 단일 값을 조회하는 JdbcTemplate 클래스의 사용
- NamedParameterJdbcTemplate를 통한 네임드 파라미터의 활용
- RowMapper
- ResultSetExtractor를 활용한 중첩 도메인 객체 조회
JDBC 작업을 모델링하는 스프링 클래스
- 애노테이션을 사용한 JDBC DAO 설정
- MappingSqlQuery
- SqlUpdate를 활용한 데이터 업데이트
- 데이터 삽입 및 생성 키 조회
- BatchSqlUpdate를 활용한 배치 작업
- SqlFunction을 활용한 저장 함수 호출
자바 설정의 활용
스프링 데이터 프로젝트 -- JDBC 확장 프로젝트
JDBC 사용에 대한 고려사항
정리
▣ 09장_하이버네이트 활용
STS를 통한 하이버네이트 유틸리티 프로젝트 생성
예제 코드에 사용할 예제 데이터
하이버네이트 SessionFactory 설정
하이버네이트 애노테이션을 활용한 ORM 매핑
- 간단한 매핑
- 일대다 매핑
- 다대다 매핑
하이버네이트 Session 인터페이스
하이버네이트를 활용한 데이터베이스 작업
- 하이버네이트 쿼리 언어를 활용한 데이터 쿼리
- 데이터 삽입
- 데이터 업데이트
- 데이터 삭제
하이버네이트 사용에 대한 고려 사항
정리
▣ 10장_JPA2를 활용한 데이터 접근
JPA 2 소개
- STS에서의 스프링 JPA 유틸리티 프로젝트 생성
- 예제 코드의 예제 데이터
- JPA EntityManagerFactory의 설정
- JPA 애노테이션을 활용한 ORM 매핑
- DAO 레이어의 제거
- 서비스 레이어 클래스로의 EntityManager 주입
JPA를 활용한 데이터 작업
- 자바 영속성 쿼리 언어를 활용한 데이터 쿼리
- 데이터 삽입
- 데이터 업데이트
- 데이터 삭제
- 네이티브 쿼리
- JPA 2 기준 API를 활용한 기준 쿼리
스프링 데이터 JPA 소개
- 스프링 데이터 JPA 라이브러리 의존성 추가
- 스프링 데이터 JPA 저장소 추상화를 활용한 데이터베이스 작업
- 엔티티 클래스의 변화 추적
하이버네이트 엔버스를 활용한 엔티티 버전 관리
- 하이버네이트 엔버스 의존성 추가
- 엔티티 버전 관리 테이블의 추가
- 엔티티 버전 관리를 위한 EntityManagerFactory 설정
- 엔티티 버전 관리와 히스토리 조회에 필요한 코드 수정
- 엔티티 버전 관리 테스트
JPA 사용에 대한 고려 사항
예제 애플리케이션에선의 JPA 활용
- 데이터베이스 백엔드
- JPA를 영속성 레이어 구현체로 활용
- 오디팅과 엔티티 버전 관리
정리
▣ 11장_마이바티스 활용
스프링에서 마이바티스 시작하기
- 마이바티스 소개
- STS에서 마이바티스 지원 기능을 갖춘 유틸리티 프로젝트의 생성
- 예제 코드에서 사용할 예제 데이터 모델
- MyBatis SqlSessionFactory와 MapperScannerConfigurer 설정
마이바티스의 SQL 매핑
- 매퍼 인터페이스와 SQL 매핑 파일
- SQL 매핑 XML 설정
마이바티스를 활용한 데이터베이스 작업
- 데이터 조회
- 데이터 삽입
- 데이터 업데이트
- 데이터 삭제
마이바티스 사용에 대한 고려사항
예제 애플리케이션의 마이바티스 활용
- 데이터베이스 백엔드
- 마이바티스를 활용한 영속성 레이어 구현체
- 오디팅과 엔티티 버전 관리
정리
▣ 12장_스프링 기반 애플리케이션의 설계와 구현
인터페이스를 통한 설계
- 인터페이스로 설계해야 하는 이유
- 팩터리 패턴
- 인터페이스 기반 설계에 미치는 스프링의 영향
도메인 객체 모델의 개발
- 스프링과 도메인 객체 모델
- DOM은 값 객체와 다르다
- 도메인 객체 모델의 생성 이유
- 도메인 객체 모델링
- 동작 캡슐화 여부에 대한 결정
SpringBlog 도메인 객체 모델
- 도메인 객체 모델 정리
데이터 접근 레이어의 설계 및 개발
- 현실적인 설계 고려 사항
- 데이터 접근 레이어 정리
서비스 레이어의 설계
- 서비스 레이어가 필요한 이유
- 비즈니스 인터페이스의 설계
- 서비스 레이어 정리
정리
▣ 13장_트랜잭션 관리
스프링 트랜잭션 추상 레이어 살펴보기
- 트랜잭션의 종류
- PlatformTransactionManager의 구현체
트랜잭션 속성의 분석
- TransactionDefinition 인터페이스
- TransactionStatus 인터페이스
예제 데이터 모델과 예제 코드의 인프라스트럭처
- 의존성을 포함한 간단한 스프링 JPA 유틸리티 프로젝트 생성
- 예제 데이터 모델과 공통 클래스
스프링의 선언적 트랜잭션과 프로그래밍적 트랜잭션
- 애노테이션 활용한 트랜잭션 관리
- XML 설정을 활용한 트랜잭션 관리
- 프로그래밍적 트랜잭션
- 트랜잭션 관리에 대한 고려 사항
스프링의 전역 트랜잭션
- JTA 예제 구현에 필요한 인프라스트럭처
- JTA를 활용한 전역 트랜잭션 구현
- JTA 트랜잭션 매니저 사용에 대한 고려 사항
정리
▣ 14장_타입 변환과 포매팅을 활용한 유효성 검증
STS를 통한 예제 프로젝트의 생성
스프링 타입 변환 시스템
- PropertyEditor를 활용한 스프링의 변환
- 스프링 3 타입 변환 소개
스프링 3의 필드 포매팅
- 커스텀 포매터의 구현
- ConversionServiceFactoryBean의 설정
스프링의 유효성 검증
- 스프링 Validator 인터페이스의 활용
- JSR-303 빈 유효성 검증의 활용
- 어떤 유효성 검증 API를 써야 할까?
예제 애플리케이션의 타입 변환과 포매팅을 활용한 유효성 검증
정리
STS를 통한 예제 프로젝트 생성
▣ 15장_작업 스케줄링
스프링의 작업 스케줄링
- 스프링 TaskScheduler 추상화 소개
- 간단한 작업
- task 네임스페이스를 활용한 작업 스케줄링
- 애노테이션을 활용한 작업 스케줄링
스프링의 비동기적 작업 실행
예제 애플리케이션의 작업 스케줄링
정리
▣ 16장_스프링 리모팅 활용
STS를 통한 예제 프로젝트 생성
예제에 사용할 서비스 레이어의 구현
- JPA 백엔드에 필요한 의존성 추가
- 프로젝트의 확인
- 예제의 데이터 모델
- ContactService의 구현 및 설정
스프링 HTTP 호출자의 활용
- 서비스의 노출
- 서비스의 호출
스프링의 JMS 활용
- ActiveMQ 설정
- 스프링에서의 JMS 리스너 구현
- 스프링에서의 JMS 메시지 전송
스프링에서의 RESTful-WS 활용
- RESTful 웹 서비스의 소개
- 예제에 필요한 의존성의 추가
- 연락처 RESTful 웹 서비스
- 스프링 MVC를 활용한 RESTful 웹 서비스 노출
- curl을 활용한 RESTful-WS 테스트
- RestTemplate을 활용한 RESTful-WS 접근
- 스프링 시큐리티를 활용한 RESTful-WS 보호
- RESTful 웹 서비스에서의 JSR-303 활용
예제 애플리케이션에서의 리모팅
정리
▣ 17장_스프링 웹 애플리케이션
STS를 통한 예제 프로젝트 생성
- 예제의 서비스 레이어 구현
- 예제에 사용할 데이터 모델
ContactService의 구현 및 설정
MVC 및 스프링 MVC 소개
- MVC 소개
- 스프링 MVC 소개
스프링 MVC의 첫 번째 뷰 생성
- DispatcherServlet의 설정
- ContactController의 구현
- 연락처 목록 뷰의 구현
- 연락처 목록 뷰의 테스트
스프링 MVC 프로젝트 구조의 개요
i18n(국제화)
- DispatcherServlet 설정에서의 i18n 설정
- 연락처 목록 뷰에 i18n 지원 기능 추가
테마와 템플릿
- 테마 지원
- 아파치 타일즈를 활용한 뷰 템플릿
연락처 정보 뷰의 구현
- URL의 뷰 매핑
- 연락처 표시 뷰의 구현
- 연락처 편집 뷰의 구현
- 연락처 추가 뷰의 구현
- JSR-303 빈 유효성 검증 활성화
제이쿼리 및 제이쿼리 UI의 활용
- 제이쿼리 및 제이쿼리 UI의 소개
- 뷰에서의 제이쿼리 및 제이쿼리 UI 활성화
- CKEditor를 통한 리치 텍스트 편집
- jqGrid를 활용한 페이지형 데이터 그리드
파일 업로드 처리
- 파입 업로드 지원의 설정
- 파일 업로드 지원을 위한 컨트롤러 수정
스프링 시큐리티를 활용한 웹 애플리케이션 보호
- 스프링 시큐리티 설정
- 애플리케이션의 로그인 기능 추가
- 애노테이션을 활용한 컨트롤러 메서드 보호
서블릿 3 코드 기반 설정의 지원
예제 애플리케이션에서의 스프링 MVC
- SpringBlog의 MVC 구현체
- 리치 사용자 인터페이스와 Ajax
- 보안 지원
- 서블릿 3.0 지원
정리
▣ 18장_스프링 웹 플로우와 JSF
예제 백엔드 프로젝트
- 예제 백엔드 서비스 레이어
- STS에서의 예제 백엔드 임포트
스프링 웹 플로우 소개
- 스프링 웹 플로우 모델
- 스프링 웹 플로우의 기능
JSF 소개
- 뷰
- 모델 상호작용
- 내비게이션
- 애플리케이션 생명 주기
스프링 웹 플로우 애플리케이션 예제
- 예제 플로우의 설계
- 프로젝트 구조
스프링 웹 플로우 및 JSF 설정
- 필요한 의존성의 추가
- JSF의 설정
- 웹 배포 디스크립터의 설정
- 스프링 웹 플로우 및 스프링 MVC 설정
예제 플로우의 구현
- 플로우 정의
- 템플릿 페이지의 구현
- 커스텀 변환기의 구현
- 컨트롤러 및 지원 빈의 구현
- 연락처 보기 뷰의 구현
연락처 추가 플로우의 구현
- 1단계: 기본 정보 입력
- 2단계: 취미 선택
- 3단계: 정보 검토
- 4단계: 연락처 추가 완료
정리
▣ 19장_스프링 테스트
예제 웹 애플리케이션 프로젝트
- STS에서의 예제 백엔드 임포트
엔터프라이즈 테스트 프레임워크 소개
논리 단위 테스트의 구현
- 필요한 의존성의 추가
- 스프링 MVC 컨트롤러 단위 테스트
통합 단위 테스트의 구현
- 필요한 의존성의 추가
- 서비스 레이어 테스트에 필요한 프로필 설정
- 인프라스트럭처 클래스의 구현
- 서비스 레이어의 단위 테스트
프론트엔드 단위 테스트의 구현
- 필요한 의존성의 추가
- Selenium 소개
- 프론트엔드 UI의 테스트 케이스 구현
테스트 케이스 코드 커버리지의 확인
정리
▣ 20장_스프링 프로젝트: 배치, 인티그레이션, 루
예제 프로젝트
- STS에서 예제 백엔드 불러오기
스프링 배치 소개
- 배치 작업 흐름과 처리
- 스프링 배치 인프라스트럭처 컴포넌트
스프링 배치 메타데이터
- 작업 실행 정책
배치 작업의 구현
- 필요한 의존성의 추가
- 스프링 배치 인프라스트럭처 설정
- 연락처 불러오기 작업의 구현
스프링 인티그레이션과 연동한 스프링 배치 활용
- 스프링 인티그레이션의 소개
- 필요한 의존성의 추가
- 파일 폴링 메커니즘의 구현
스프링 루 소개
- STS에서의 스프링 루 설정
- 스프링 루 프로젝트의 생성
- 프레젠테이션 레이어와 엔티티 클래스의 설정
- 서비스 레이어의 설정
- 프레젠테이션 레이어의 설정
- 스프링 루 애드온
- 스프링 루에 대한 결론
예제 애플리케이션에서의 스프링 배치 및 스프링 인티그레이션 활용
정리
▣ 21장_예제 애플리케이션 살펴보기
예제 애플리케이션의 설정
- 프로젝트 설정
- MySQL과 H2 데이터베이스 사이의 전환
- JPA와 마이바티스 구현체 사이의 전환
애플리케이션 설계
- 데이터 모델
- 도메인 객체 모델
- UML 모델
설정 상세 정보
구현체 상세 내용
- 서비스 레이어 구현체
- AOP를 활용한 비속어 필터
- 오디팅 데이터를 정리하는 작업 스케줄링
- 프레젠테이션 레이어
- 웹 리소스 파일 폴더 구조
정리
▣ 22장_스프링의 스크립트 지원
예제 프로젝트
- 간단한 스프링 유틸리티 프로젝트의 생성
- 이클립스용 그루비 플러그인의 설치
자바의 스크립트 지원
그루비의 소개
- 동적 타입 지정
- 단순한 구문
- 클로저
그루비와 스프링의 활용
- 필요한 의존성의 추가
- Contact 도메인
- 규칙 엔진의 구현
- 규칙 팩터리를 갱신 가능 빈으로 구현
- 나이 카테고리 규칙의 테스트
정리
▣ 23장_스프링 애플리케이션 모니터링
예제 프로젝트
스프링의 JMX 지원
- 스프링 빈의 JMX 익스포트
- JMX 모니터링을 위한 VisualVM 설정
- 로그인 사용자 모니터링
- 하이버네이트 통계 모니터링
- 스프링 배치 작업 모니터링
스프링 인사이트를 활용한 애플리케이션 모니터링
- 스프링 인사이트 소개
- 스프링 인사이트의 설정
- 스프링 인사이트 활용
정리
▣ 부록_스프링소스 툴 스위트
STS 소개
STS 설치
- STS 단독 실행 버전 설치
- 기존 이클립스 환경 대상 STS 설치
프로젝트 설정 및 의존성 관리
- 간단한 스프링 유틸리티 프로젝트의 생성
- 프로젝트 의존성 관리
STS 활용법
- STS 플러그인 설치
- STS에서의 VMware tc 서버 설정
정리
저자
저자
클라렌스 호
저자 클라렌스 호는 홍콩에 위치한 소프트웨어 컨설팅 회사인 SkywideSoft Technology Limited의 자바 아키텍트다. 클라렌스는 IT 분야에서 20년 이상 여러 인하우스 애플리케이션 개발 프로젝트에서 팀 리더를 맡았으며, 클라이언트에게 엔터프라이즈 컨설팅 서비스를 제공했다. 클라렌스는 2001년부터 자바 프로그래밍을 시작했고, 2005년부터는 EJB, 스프링 프레임워크, 하이버네이트, JMS, WS 같은 기술을 사용해 JEE 애플리케이션을 설계하고 개발하는 업무를 집중적으로 담당했다. 클라렌스는 2005년부터 자바 엔터프라이즈 아키텍트로 근무하고 있다. 또한 국제 금융 기관의 컨설턴트로 근무하면서 자바 EE 아키텍처 설계, 교육, 기술 솔루션에 대한 컨설팅, 애플리케이션 개발 모범 기법에 대한 교육 등 여러 분야에서 기여하고 있다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

