|
1장 스프링 소개
__1.1 스프링이란? __1.2 스프링 프로젝트 __1.3 스프링의 대안 __1.4 정리 2장 스프링 시작하기 __2.1 스프링 프레임워크 가져오기 __2.2 스프링 모듈 이해하기 __2.3 스프링 문서 사용하기 0672.4 스프링으로 Hello World 애플리케이션 만들기 __2.5 정리 3장 스프링 IoC와 DI 소개 __3.1 IoC와 DI __3.2 IoC의 종류 __3.3 스프링의 제어 역전 __3.4 스프링의 의존성 주입 __3.5 애플리케이션 컨텍스트 구성하기 __3.6 빈에 자동와이어링하기 __3.7 빈 상속 설정하기 __3.8 정리 4장 스프링 구성 상세와 스프링 부트 __4.1 스프링이 애플리케이션 이식성에 미치는 영향 __4.2 빈 라이프사이클 관리 __4.3 빈 생성 시점에 통지 받기 __4.4 빈 소멸 시점에 통지 받기 __4.5 빈이 스프링을 알게(Spring Aware)하기 __4.6 FactoryBean 사용하기 __4.7 자바빈 PropertyEditor __4.8 그 외의 스프링 ApplicationContext 구성 살펴보기 __4.9 리소스 접근하기 __4.10 자바 클래스를 사용한 구성 __4.11 프로파일 __4.12 Environment와 PropertySource 추상화 __4.13 JSR-330 애너테이션을 사용한 구성 __4.14 그루비를 사용한 구성 __4.15 스프링 부트 __4.16 정리 5장 스프링 AOP 소개 __5.1 AOP 개념 __5.2 AOP의 종류 __5.3 스프링의 AOP 지원 __5.4 스프링 AOP 아키텍처 __5.5 스프링의 어드바이저와 포인트컷 __5.6 프록시 이해하기 __5.7 포인트컷의 고급 활용 __5.8 인트로덕션 시작하기 __5.9 인트로덕션 정리 __5.10 AOP 프레임워크 서비스 __5.11 @AspectJ 방식 애너테이션 사용하기 __5.12 AspectJ 연동 __5.13 정리 6장 스프링 JDBC __6.1 람다식 소개 __6.2 예제 코드에서 사용할 예제 데이터 모델 __6.3 JDBC 인프라스트럭처 살펴보기 __6.4 스프링 JDBC 인프라스트럭처 __6.5 데이터베이스 커넥션과 데이터소스 __6.6 임베디드 데이터베이스 기능 __6.7 DAO 클래스에서 DataSource 사용하기 __6.8 예외 처리 __6.9 JdbcTemplate 클래스 __6.10 ResultSetExtractor를 사용해 중첩 도메인 객체 조회하기 __6.11 JDBC 조작을 모델링하는 스프링 클래스 __6.12 MappingSqlQuery〈T〉를 사용해 데이터 질의하기 __6.13 데이터 등록 및 생성된 키 조회하기 __6.14 BatchSqlUpdate를 사용하는 배치 조작 __6.15 SqlFunction으로 저장 함수 호출하기 __6.16 스프링 데이터 프로젝트의 JDBC 확장 __6.17 JDBC 사용 시 고려사항 __6.18 스프링 부트 JDBC __6.19 정리 7장 스프링에서 하이버네이트 사용하기 __7.1 예제 코드에서 사용할 예제 데이터 모델 __7.2 하이버네이트 SessionFactory 구성 __7.3 하이버네이트 애너테이션으로 ORM 매핑하기 __7.4 하이버네이트 Session 인터페이스 __7.5 데이터 등록 __7.6 데이터 수정 __7.7 데이터 삭제 __7.8 엔터티로 테이블을 생성하도록 하이버네이트 구성하기 __7.9 메서드와 필드 중 어디에 애너테이션을 추가할 것인가? __7.10 하이버네이트를 사용할 때 고려사항 __7.11 정리 8장 스프링에서 JPA2로 데이터 액세스하기 __8.1 JPA 2.1 소개 __8.2 JPA로 데이터베이스 조작하기 __8.3 생성자 표현식을 사용한 커스텀 결과 타입 쿼리 __8.4 네이티브 쿼리 사용하기 __8.5 JPA 2 크라이티리어 API로 크라이티리어 쿼리 사용하기 __8.6 스프링 데이터 JPA 소개 __8.7 JpaRepository 사용하기 __8.8 스프링 데이터 JPA로 커스텀 쿼리 사용하기 __8.9 하이버네이트 엔버스로 엔터티 버전 관리하기 __8.10 스프링 부트 JPA __8.11 JPA를 사용할 때 고려사항 __8.12 정리 9장 트랜잭션 관리 __9.1 스프링 트랜잭션 추상화 레이어 알아보기 __9.2 PlatformTransactionManager 구현체 __9.3 트랜잭션 프로퍼티 살펴보기 __9.4 예제 코드를 위한 데이터 모델과 인프라 __9.5 프로그래밍으로 트랜잭션 사용하기 __9.6 스프링과 글로벌 트랜잭션 __9.7 정리 10장 타입 변환과 포매팅을 사용해 유효성 검증하기 __10.1 의존성 __10.2 스프링 타입 변환 시스템 __10.3 스프링 타입 변환 소개 __10.4 스프링에서 필드 포매팅하기 __10.5 스프링에서 유효성 검증 __10.6 사용자 정의 검증에 @AssertTrue 사용하기 __10.7 사용자 정의 검증에서 고려사항 __10.8 어떤 유효성 검증 API를 사용할지 결정하기 __10.9 정리 11장 태스크 스케줄링 __11.1 태스크 스케줄링 예제에 필요한 의존성 __11.2 스프링의 태스크 스케줄링 __11.3 스프링에서 태스크 실행 __11.4 정리 12장 스프링 리모팅 사용하기 __12.1 예제 데이터 모델 사용하기 __12.2 JPA 백엔드에 필요한 의존성 추가 __12.3 SingerService 구현 및 구성하기 __12.4 스프링에서 JMS 사용하기 __12.5 스프링 부트 Artemis 스타터 __12.6 스프링에서 RESTful-WS 사용하기 __12.7 Castor XML 구성하기 __12.8 스프링 부트를 사용하는 스프링 RESTful-WS __12.9 스프링에서 AMQP 사용하기 __12.10 정리 13장 스프링 테스트 __13.1 테스트 범주 소개 __13.2 스프링 테스트 애너테이션 사용하기 __13.3 로직 단위 테스트 구현하기 __13.4 통합 테스트 구현하기 __13.5 프런트엔드 단위 테스트 구현하기 __13.6 정리 14장 스프링에서 스크립트 언어 사용하기 __14.1 자바에서 스크립트 언어 사용하기 __14.2 그루비 소개 __14.3 스프링에서 그루비 사용하기 __14.4 동적 언어 코드 내장하기 __14.5 정리 15장 애플리케이션 모니터링 __15.1 스프링에서의 JMX 지원 __15.2 스프링 빈을 JMX로 내보내기 __15.3 자바 VisualVM으로 JMX 모니터링하기 __15.4 하이버네이트 통계 정보 모니터링 __15.5 스프링 부트와 JMX __15.6 정리 16장 스프링 웹 애플리케이션 __16.1 서비스 레이어 구현 예제 __16.2 SingerService 구성 __16.3 MVC 및 스프링 MVC 소개 __16.4 스프링 MVC 프로젝트 구조 이해하기 __16.5 국제화(i18n) __16.6 테마와 템플릿 사용하기 __16.7 아파치 타일즈를 사용한 뷰 템플릿 __16.8 스프링 MVC에서 타일즈 구성 __16.9 가수 정보 뷰의 구현 __16.10 제이쿼리와 제이쿼리 UI 사용하기 __16.11 파일 업로드 처리 __16.12 스프링 시큐리티를 사용한 웹 애플리케이션 보안 __16.13 스프링 부트로 스프링 웹 애플리케이션 생성하기 __16.14 타임리프 뷰 생성하기 __16.15 타임리프 확장 기능 사용하기 __16.16 정리 17장 웹소켓 __17.1 웹소켓 소개 __17.2 스프링에서 웹소켓 사용하기 __17.3 웹소켓 API 사용하기 __17.4 STOMP로 메시지 전달하기 __17.5 정리 18장 스프링 프로젝트: 배치, 인티그레이션, XD, 그리고 기타 __18.1 스프링 배치 __18.2 JSR-352 __18.4 스프링 인티그레이션 __18.5 스프링 XD __18.6 스프링 프레임워크의 5가지 주목할 만한 기능 __18.7 정리 부록 A 개발 환경 구성하기 A.1 pro-spring-5 프로젝트 소개 A.2 그레이들 구성 이해하기 A.3 pro-spring-5 프로젝트 내려받기 A.4 빌드 및 트러블슈팅 A.5 아파치 톰캣에 애플리케이션 배포 |
이승룡의 다른 상품
서경석의 다른 상품
|
스프링 프레임워크의 버전 5를 다루는 이 책은, 시장을 주도하는 엔터프라이즈 자바 애플리케이션 개발 프레임워크인 스프링 프레임워크 5의 강력한 기능을 활용할 때 참고할 수 있는 가장 종합적이고 전문적인 스프링 참고 자료이며 실용적인 가이드입니다.
이 책에서는 스프링의 핵심을 알아보면서 하이버네이트(Hibernate), JPA 2, 타일즈(Tiles), 타임리프(Thymeleaf), 웹소켓(WebSocket)과 같은 선도적인 자바 기술과 스프링을 통합하는 방법을 알아봅니다. 또한, 자바 구성 클래스, 람다 표현식, 스프링 부트(Boot), 반응형 프로그래밍을 사용하는 것에 초점을 맞춥니다. 그리고 리모팅(remoting) 지원, 트랜잭션, 웹과 프레젠테이션 티어 등과 같은 엔터프라이즈 애플리케이션 개발과 관련된 통찰력과 실제적인 경험을 공유합니다. 『전문가를 위한 스프링 5』(개정 5판)에서는 다음과 같은 내용을 배웁니다. ㆍ 제어 역전(IoC) 및 의존성 주입(DI) ㆍ 스프링 프레임워크 5의 새로운 기능 알아보기 ㆍ 스프링 MVC와 웹소켓(WebSocket)을 사용한 스프링 기반의 웹 애플리케이션 구축 ㆍ 스프링 WebFlux를 사용한 스프링 웹 반응형(reactive) 애플리케이션 구축 ㆍ JUnit 5를 사용한 스프링 애플리케이션 테스트 ㆍ 새로운 자바 8 람다 문법 활용 ㆍ 고급 수준의 스프링 부트를 사용해 여러 유형의 스프링 애플리케이션을 단기간에 개발하고 실행하기 자바 9의 출시 날짜가 연기됐기 때문에 스프링 5는 자바 8을 기반으로 출시됐습니다. 따라서 이 책에서 다루는 자바 9과의 상호 운용성은 정식 버전 출시 전 베타 버전을 기준으로 합니다. 이 책에서는 그레이들(Gradle) 4를 사용해 구성된 멀티 모듈 프로젝트를 제공합니다. 이 프로젝트는 Apress 공식 저장소(https://github.com/Apress/pro-spring-5)에서 가져와 사용할 수 있습니다. 그레이들이 로컬에 설치돼 있다면 README.adoc 파일의 지침에 따라 클론(clone)한 이후에 프로젝트를 빌드할 수 있습니다. 그레이들이 설치돼 있지 않다면 인텔리제이(IntelliJ) IDEA에서 그레이들 래퍼(Gradle Wrapper, https://docs.gradle.org/current/userguide/gradle_wrapper.html)를 사용해 그레이들을 다운로드하고 프로젝트를 빌드할 수 있습니다(https://docs.gradle.org/current/userguide/gradle_wrapper.html). 이 책의 마지막에 있는 부록에서 이 프로젝트의 구조 및 구성과 함께, 깃허브(GitHub)에 있는 이 책의 예제 코드를 개발하고 실행해 볼 수 있는 개발 도구와 관련된 상세 내용을 알아봅니다. 책을 쓰는 동안에 스프링 5의 새로운 릴리스 후보 버전이 발표되었고, 인텔리제이 IDEA의 새 버전이 출시되었으며, 이 책에 사용된 그레이들 및 기타 기술의 새 버전이 업데이트 됐습니다. 이 책에서는 가장 최근의 정보를 제공하면서 공식 문서와 동기화를 유지하려고 새 버전에 맞게 내용을 업그레이드했습니다. 여러 검토자가 책의 기술적 정확성을 확인했지만, 혹시라도 잘못된 부분을 발견한 경우에 editorial@apress.com으로 이메일을 보내준다면 정오표가 만들어 질 것입니다. 이 책의 예제 소스 코드는 www.apress.com/9781484228074에 접속한 후 Download Source Code 버튼을 눌러 접근할 수 있습니다. 이 코드는 지속적으로 유지보수되고, 새로운 버전의 기술과 동기화되며, 스프링을 사용하는 개발자의 추천을 기반으로 더욱더 풍부해질 것입니다. 한국어판의 예제 소스 코드는 https://github.com/gilbutitbook/006987입니다. 제가 이 책을 쓸 때 느꼈던 즐거움만큼 이 책으로 즐겁게 스프링을 배우기를 진심으로 바랍니다. 역주_번역서는 프레임워크 버전 업에 맞춰 스프링 5.1 정식 릴리스 버전 기준으로 반영했습니다. 또한, 국내 환경에 맞춰 개발 환경은 이클립스로 변경했습니다. [이 책의 내용] ㆍ 스프링 IoC와 DI ㆍ 스프링 구성과 스프링 부트 ㆍ 스프링 AOP ㆍ 스프링 JDBC ㆍ 하이버네이트 ㆍ JPA2 ㆍ 트랜잭션 관리 ㆍ 스프링 타입 변환 시스템 ㆍ 태스크 스케줄링 ㆍ 스프링 리모팅 ㆍ 스프링 테스트 ㆍ 스프링과 스크립트 언어 ㆍ 애플리케이션 모니터링 ㆍ 스프링 MVC ㆍ 웹소켓 ㆍ 스프링 프로젝트 |