스크랩

구간

스프링 애플리케이션 개발 - acorn+PACKT 시리즈 예제로 배우는 스프링 4

원제 : Learning Spring Application Development

라비 칸트 소니 저 | 최광민, 이혜란 역 | 에이콘출판 | 2016년 08월

미리보기 북트리

정가
$70.00
판매가
$51.03 (27%↓) 최저가 보상
적립금
$1.02 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960778894 / 552쪽 186 x 232 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 25,200
  • 19,800
  • 31,500
  • 15,120

책 소개

출판사 리뷰

출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ 스프링 프레임워크 아키텍처와 스프링 애플리케이션 개발 환경의 구성요소 설정 ■ 스프링 컨테이너 설정 및 XML과 애노테이션을 이용한 스프링 빈 관리 ■ 애스펙트?와 어드바이스, 포인트컷, 인트로덕션을 비롯한 스프링 AOP의 개념 ■ 스프링 프레임워크와 하이버네이트를 이용한 JDBC와 ORM 지원 ■ 스프링 웹 컨트롤러와 폼 태그 라이브러리를 이용한 효율적인 스프링 MVC 애플리케이션 개발 ■ 스프링 시큐리티를 이용해 불법적인 침입자로부터 애플리케이션을 보호하는 방법 ■ 스프링 메일 애... ★ 이 책에서 다루는 내용 ★ ■ 스프링 프레임워크 아키텍처와 스프링 애플리케이션 개발 환경의 구성요소 설정 ■ 스프링 컨테이너 설정 및 XML과 애노테이션을 이용한 스프링 빈 관리 ■ 애스펙트와 어드바이스, 포인트컷, 인트로덕션을 비롯한 스프링 AOP의 개념 ■ 스프링 프레임워크와 하이버네이트를 이용한 JDBC와 ORM 지원 ■ 스프링 웹 컨트롤러와 폼 태그 라이브러리를 이용한 효율적인 스프링 MVC 애플리케이션 개발 ■ 스프링 시큐리티를 이용해 불법적인 침입자로부터 애플리케이션을 보호하는 방법 ■ 스프링 메일 애플리케이션 프로그래밍 인터페이스를 바탕으로 한 이메일 송수신 ★ 이 책의 대상 독자 ★ 이 책은 스프링 프레임워크를 배우고자 하는 사람들을 대상으로 하며, 자바 프로그래밍과 웹 애플리케이션에 대한 사전지식이 필요하다. 개발자든, 아키텍트든, 관리자든 팀에서의 역할에 상관없이, 이 책은 적용 가능한 스프링 기술을 학습할 수 있도록 가장 효과적이고 적절한 방법을 제공할 것이다. XML에 익숙하면 좋겠지만 XML 초보자도 큰 어려움 없이 이 책의 내용을 이해할 수 있다. 또한 엔터프라이즈 개발 지식이 있으면 좋겠지만 필수는 아니다. 이 책은 코어 층, 데이터 접근 계층, 웹 계층에 기반한다. 개발 예제 코드를 통해 단계적으로 접근해 초보자도 쉽게 애플리케이션 개발을 이해할 수 있다. ★ 이 책의 구성 ★ 1장, ‘스프링 프레임워크 소개’에서는 스프링 프레임워크 구조에 대한 이해와 스프링 애플리케이션 개발 환경의 주요 컴포넌트 설정을 살펴본다. 이 책의 나머지 부분에 대한 로드맵 역할을 한다. 2장, ‘제어역전’에서는 스프링 컨테이너 구성과 XML을 통한 스프링 빈 관리에 대해 알아본다. 제어역전(IoC, Inversion of Control)과 의존성 주입(DI, Dependency Injection)의 개념을 살펴본다. 3장, ‘스프링에서의 DAO와 JDBC’에서는 DAO 디자인 패턴과 스프링을 이용해 데이터에 대한 접근 권한을 부여한다. 스프링 프레임워크에 JDBC 지원과 ORM 지원을 구현한다. 스프링이 데이터 자원을 관리하는 방법과 애플리케이션에서 사용 가능한 데이터 자원은 무엇인지 살펴본다. 4장, ‘스프링과 하이버네이트 연동’에서는 스프링에서 폭넓게 지원되는 ORM 라이브러리 중 하나인 하이버네이트(Hibernate)를 살펴본다. 매핑 설정과 영속 클래스의 매핑을 살펴보고 스프링 애플리케이션에서 어떻게 하이버네이트가 작동하도록 구성하는지 알아본다. 5장, ‘스프링 웹 MVC 프레임워크’에서는 스프링 웹 컨트롤러와 스프링 폼 태그 라이브러리를 활용해 스프링 MVC 애플리케이션을 생성한다. 스프링 MVC를 소개하고 스프링 MVC가 제공하는 강력한 기능을 통해 어떻게 고성능 웹 애플리케이션을 개발하는지 설명한다. 6장, ‘스프링 시큐리티를 이용한 보안’에서는 스프링 시큐리티를 통해 애플리케이션을 악의적인 침입자로부터 보호할 수 있다. Acegi Security System을 소개하고 서블릿 필터를 통한 웹 애플리케이션 보안을 살펴본다. 7장, ‘스프링을 이용한 테스트’에서는 Junit과 TestNG를 사용해 실제 테스트 전략을 구현한다. Junit 프레임워크에 집중해 단위 테스트 실행 방법을 설명한다. 8장, ‘JavaMail과 JMS의 스프링 연동’에서는 이메일 송수신을 위한 스프링 메일 애플리케이션 프로그래밍 인터페이스를 구현한다. 비동기 처리를 위한 JMS(Java Messaging Service)를 소개한다. 9장, ‘애노테이션을 이용한 스프링 제어역전’에서는 애노테이션을 통해 스프링 빈과 의존성 주입을 구성한다. 애노테이션 기반의 의존성 주입과 애노테이션 생명주기를 살펴본다. SpEL(Spring Expression Language)을 이용한 빈 참조와 메소드 호출, SpEL의 연산자를 살펴본다. 또한 스프링이 제공하는 텍스트 메시지와 국제화를 살펴보고, 애플리케이션 구현을 통해 학습한다. 10장, ‘스프링의 관점지향 프로그래밍’에서는 관점지향 프로그래밍(AOP)을 소개한다. 스프링의 강력한 포인트컷 메커니즘을 이용해 애플리케이션에 애스펙트(aspect)를 어디에 어떻게 적용하는지 살펴보고 스프링 AOP의 프록시를 살펴본다. 부록 A, ‘연습문제 해답’에서는 이 책의 모든 연습문제 해답을 제공한다. 부록 B, ‘아파치 더비를 이용한 애플리케이션 데이터베이스 구성’에서는 아파치 더비(Derby) 애플리케이션 데이터베이스 설정 방법을 알려준다. 부록 C, ‘스프링 폼 태그 라이브러리’에서는 스프링 웹 MVC 프레임워크가 제공하는 스프링 폼 태그 라이브러리를 살펴본다. 스프링 폼 태그 라이브러리는 폼 태그 라이브러리 내부의 태그 집합으로, 뷰(웹 페이지)를 구축하는 데 사용된다.

저자 소개

자바 엔터프라이즈와 스프링 프레임워크 전문가며, 뱅갈로에 위치한 레바 기술원(Reva Institute of Technology)에서 정보 과학/공학 학사 학위를 받았다. 다년간 소프트웨어 개발에 참여했으며, 소프트웨어 개발부터 멀티테넌트(multitenant) 애플리케이션 설계, 기존 시스템으로의 새로운 기술 통합, 최근에는 스프링 프레임워크 관련 서적 저술까지 다양한 경험을 했다.
현재는 HCL 테크놀로지스(HCL Technologies)에서 엔지니어로 일하고 있다. 애플리케이션 설계와 구현 업무를 주로 맡았으며, 스프링 프레임워크를 이용해 은행과 인사/급여, 전자상거래 시스템의 핵심 애플리케이션을 개발했다.
소프트웨어 설계와 시스템 아키텍처, 애플리케이션 프로그래밍, 테스트 자동화를 비롯한 소프트웨어 공학의 모든 측면에 걸쳐 심도 있는 경험을 했다. 자바와 스프링, 하이버네이트(Hibernate), PostgreSQL 등을 포함한 엔터프라이즈 기술을 섭렵했으며, 부트스트랩(Bootstrap)과 제이쿼리(jQuery), 프리마커(FreeMarker), 메이븐(Maven), CAS(SSO) 보안, 깃(Git), 셀레늄 웹드라이버(Selenium WebDriver), 애자일(Agile) 방법론 등의 기술에도 능통하다.
브레인스토밍을 바탕으로 문제에 대한 독창적인 해법을 찾는 일을 즐긴다. 이메일(springframeworkbyravi@gmail.com)과 링크드인(in.linkedin.com/in/november03ravikantsoni)을 통해 그와 연락할 수 있다. 

역자 소개

인하대학교 산업공학 전공을 마치고 현재 삼성SDS 연구소에서 선임 연구원으로 재직 중이다. 단지 심심해서 뭐든 도전하고 시도하고 본다. 스스로가 납득할 수 있는 노력과 결과물을 위해 매 순간 최선을 다하는 사람이고 싶다.
한양대학교 컴퓨터 전공을 마치고 현재 삼성SDS 연구소 알고리즘 연구팀에서 책임 연구원으로 재직 중이다. 회사에서든 일상에서든 새롭고 흥미로운 기술이라면 무엇이든 배우고 즐길 준비가 돼있으며 백발노인이 돼서도 끝없이 탐구하고 창조하는 사람이 되는 것을 인생의 목표로 삼고 있다.

머리말

★ 지은이의 말 ★

스프링 프레임워크는 자바 애플리케이션 개발에 광범위한 인프라 지원을 제공하는 최첨단 프레임워크다. 스프링 프레임워크는 개발자가 애플리케이션에 집중할 수 있도록 인프라를 처리한다. 이는 POJO 기반 프로그래밍 모델을 가능하게 함으로써 좋은 프로그래밍을 실천하도록 장려하고 애플리케이션을 계층화해 구성하는 훌륭한 방법을 제공한다. 대규모의 자바 개발 프로젝트를 설계, 디자인, 개발하는 경우 성능이 좋고 테스트가 용이하며 재사용 가능한 코드를 생성하는 스프링 프레임워크를 활용하는 것이 적절하다.
어떤 사람들은 읽으면서 배우는 것을 선호하는 반면, 어떤 사람들은 코딩하면서 배우는 것을 선호한다. 나는 코딩을 통해 배우는 것이 더 좋은 결과를 낳는다고 믿고, 이 책에서도 그 방식을 선택했다. 스프링 프레임워크의 각 기능에 대한 이해를 돕기 위해 풍부한 예제 코드와 적절한 설명을 담았다. 여러분은 첫 장에서부터 스프링 프레임워크를 사용해 애플리케이션 개발을 시작할 수 있을 것이다.
스프링 프레임워크는 수많은 기능을 담고 있는 바다다. 이 책은 애플리케이션에서 일반적으로 사용되는 다양한 기능을 다루고 각 기능을 코드 기반의 예제를 통해 살펴본다. 코드와 도표를 통해 내용을 보충하며 추가적으로 라이브러리 스냅샷을 통해 각 예제와 결과를 제공한다.

★ 옮긴이의 말 ★

자바 개발자, 그 중에서도 웹 개발자에게 스프링의 중요성은 새삼 강조할 필요가 없다. MVC 기반의 웹 애플리케이션은 물론이고, 자바로 개발된 거의 모든 종류의 프로그램들이 스프링의 빈 모델을 바탕으로 하기 때문이다. 스프링의 대중성을 대변하듯 시중에는 수많은 스프링 관련 책이 있다. 이렇게 많은 스프링 관련 책 중에서 이 책은 어떤 분들에게 유용할까? 크게 두 가지로 생각할 수 있다.
스프링을 처음 접하는 분이라면 이 책은 스프링의 주요 개념을 빠르게 익히고, 다양한 응용 분야를 훑어보기에 좋다. 스프링의 핵심 개념이라고 할 수 있는 제어역전과 관점지향 프로그래밍, MVC 모델은 물론이고 ORM 기반의 데이터베이스 연동, 테스트, 메일 서버 연동 등 애플리케이션 개발에 필수적인 내용을 담고 있다. 이 책이 스프링의 모든 내용을 설명하는 참고서는 아니지만, 스프링을 시작하는 첫 디딤돌이 될 수 있다.
반면 스프링 3.x에 익숙한 개발자라면 이 책을 바탕으로 스프링 4.x의 새로운 면을 빠르게 훑어볼 수 있다. 책 곳곳에서 버전에 따라 달라지는 내용을 설명하고 있어, 스프링 4.x의 변화된 내용이 궁금한 분들에게는 이 책이 유용할 것이다.
- 최광민

목차

목차
1장. 스프링 프레임워크 소개
__스프링 소개
____스프링의 주요 특징
____스프링의 그 밖의 특징
__스프링 프레임워크의 발전
__스프링 프레임워크 구조
____스프링 코어 컨테이너
____AOP 모듈
____데?이터 접근/통합
____웹 모듈
____테스트 모듈
__스프링 프레임워크 사용의 장점
__스프링에서 애플리케이션 생성
____스프링 JAR 파일 획득
____스프링 패키지의 이해
____STS
____스프링 애플리케이션
________스프링 프로젝트 생성
________라이브러리 추가
________소스 파일 생성
________스프링 빈 설정 파일 생성
________프로그램 실행
__연습문제
__요약
2장. 제어역전
__제어역전의 이해
____컨테이너의 의미
____스프링 컨테이너
________빈
________BeanFactory
________ApplicationContext
__의존성 주입
____스프링에서의 의존성 주입
________Has-A 관계
________생성자 기반의 의존성 주입
________세터 기반 의존성 주입
____내부 빈 주입
____스프링에서의 널과 빈 문자열 값 주입
________사례 1 - 빈 문자열 주입
________사례 2 - 널 값 주입
__빈 정의 상속
____추상화 상속
__스프링의 오토와이어링
____오토와이어링 모드
________옵션 없는 오토와이어링 사용
________byName 옵션을 사용하는 오토와이어링
________byType 옵션을 사용하는 오토와이어링
________생성자를 사용하는 오토와이어링
__빈의 스코프
____싱글톤
____프로토타입
____리퀘스트
____세션
____글로벌 세션
__스프링 빈의 생명주기
____초기화
____활성화
____제거
____초기화 콜백
________org.springframework.beans.factory.InitializingBean 인터페이스 구현
________XML 설정에서의 init-method 사용
____제거 콜백
________org.springframework.beans.factory.DisposableBean 인터페이스 구현
________XML 설정에서의 destroy-method 사용
__연습문제
__요약
3장. 스프링에서의 DAO와 JDBC
__데이터베이스 개요
__DAO 디자인 패턴
____DAO 계층
__스프링을 사용하지 않는 JDBC
____샘플 코드
________프로젝트에 특정 데이터베이스 드라이버 추가
________애플리케이션의 디렉토리 구조
__스프링 JDBC 패키지
__스프링에서의 JDBC
____DataSource
____DAO 클래스의 DataSource
________애플리케이션의 디렉토리 구조
__JdbcTemplate의 의미
____스프링 빈과 같은 JdbcTemplate 객체 구성
________Spring.xml 파일
____JdbcTemplate 클래스가 제공하는 기능
________조회
________수정
________그 밖의 JdbcTemplate 연산자
____애플리케이션의 디렉토리 구조
________Employee.java 파일
________EmployeeDao.java 파일
________EmployeeDaoImpl.java 파일
__스프링 JDBC 일괄작업 작업
____애플리케이션의 디렉토리 구조
________EmployeeDaoImpl.java 파일
________HrPayrollBatchUpdate.java 파일
__저장 프로시저 호출
____SimpleJdbcCall 클래스의 사용
________저장 프로시저 호출
__연습문제
__요약
4장. 스프링과 하이버네이트 연동
__객체/관계 매핑을 사용하는 이유
__ORM과 O/RM, O/R 매핑 소개
__하이버네이트 소개
____하이버네이트 아키텍처
________설정
________세션 팩토리
________________세션
________트랜잭션
________질의
________기준
________영속성 객체
__하이버네이트와 스프링 프레임워크 통합
____예제 코드에서 사용할 샘플 데이터
____하이버네이트 통합
____스프링-하이버네이트 프로젝트에 필요한 JAR
____스프링에서 하이버네이트 SessionFactory 설정
________하이버네이트용 XML 스프링 설정
____애노테이션이 추가된 도메인 모델 클래스
____하이버네이트 세션
________Session 인터페이스 메소드
____영속성 계층 - DAO 구현
________EmployeeDao 인터페이스
________EmployeeDaoImpl 클래스
____서비스 계층 - 서비스 구현
________EmployeeService 인터페이스
________EmployeeServiceImpl 클래스
____애플리케이션의 디렉토리 구조
____애플리케이션 실행
________DBUtils 클래스
________SpringHibernateMain 클래스
________콘솔 출력
________직원 정보 테이블에 삽입된 데이터
__하이버네이트 질의 언어
____질의 인터페이스
____HQL을 이용한 데이터베이스 연산
________FROM 절
________AS 절
________SELECT 절
________WHERE 절
________ORDER BY 절
________GROUP BY 절
________명명된 매개변수 사용
________UPDATE 절
________DELETE 절
________질의를 이용한 페이지화
__하이버네이트 기준 질의 언어
____기준 인터페이스
________기준을 이용한 제약
__연습문제
__요약
5장. 스프링 웹 MVC 프레임워크
__MVC 아키텍처와 관심사의 분리
__프론트 컨트롤러 디자인 패턴
__스프링 MVC에 대한 이해
____스프링 MVC 프레임워크의 특징
____스프링 MVC의 요청 처리 흐름
__간단한 스프링 MVC 애플리케이션 개발
____새로운 메이븐 프로젝트 생성
____pom.xml에 스프링 MVC 의존관계 추가
____애플리케이션 설정
________/WEB-INF/web.xml 파일
________/WEB-INF/SpringDispatcher-servlet.xml 파일
____컨트롤러 생성 - EmployeeController
____뷰 생성 - hello.jsp
____애플리케이션 실행
__스프링 MVC의 DispatcherServlet
____배포 서술자 web.xml에서의 DispatcherServlet
____스프링 MVC 설정 파일 위치 등록
__스프링 설정 - SpringDispatcher-servlet.xml
__스프링 MVC 컨트롤러
____컨트롤러 정의를 위한 @Controller
____요청 매핑을 위한 @RequestMapping 애노테이션
________클래스 레벨의 매핑 요청
________메소드 레벨의 매핑 요청
________@RequestMapping의 속성 정보
________@RequestMapping의 메소드 매개변수
________@RequestMapping 애노테이션 메소드의 값 반환
__스프링 MVC의 ViewResolver
____뷰 기술 JSP를 위한 ViewResolver 구성
__스프링 MVC의 모델
__스프링 MVC와 하이버네이트 통합
____애플리케이션 구조
____샘플 코드와 샘플 데이터 모델
____프로젝트 구조
____pom.xml 파일
________hibernate.properties 파일
____SpringDispatcher-servlet.xml 파일
____하이버네이트 모델 클래스 - 엔티티 클래스
____DAO 계층
________EmployeeDao 인터페이스
________EmployeeDao 구현
____서비스 계층
________Employ

top