Top

스프링 애플리케이션 개발 [예제로 배우는 스프링 4]

  • 원서명Learning Spring Application Development (ISBN 9781783987368)
  • 지은이라비 칸트 소니(Ravi Kant Soni)
  • 옮긴이최광민, 이혜란
  • ISBN : 9788960778894
  • 35,000원
  • 2016년 08월 17일 펴냄
  • 페이퍼백 | 552쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

이 책은 스프링 입문서로, 스프링의 핵심 개념이라고 할 수 있는 제어역전(IoC)과 관점지향 프로그래밍(AOP), MVC 모델은 물론이고 ORM 기반의 데이터베이스 연동, 테스트, 메일 서버 연동 등 애플리케이션 개발에 필수적인 내용을 담고 있다. 특히 스프링 4.x의 새로운 기능을 소개해 스프링에 이미 익숙한 개발자에게도 유용한 정보를 제공한다.

이 책에서 다루는 내용

■ 스프링 프레임워크 아키텍처와 스프링 애플리케이션 개발 환경의 구성요소 설정

■ 스프링 컨테이너 설정 및 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 프레임워크가 제공하는 스프링 폼 태그 라이브러리를 살펴본다. 스프링 폼 태그 라이브러리는 폼 태그 라이브러리 내부의 태그 집합으로, 뷰(웹 페이지)를 구축하는 데 사용된다.

저자/역자 소개

지은이의 말

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

지은이 소개

라비 칸트 소니(Ravi Kant Soni)

자바 엔터프라이즈와 스프링 프레임워크 전문가며, 뱅갈로에 위치한 레바 기술원(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)을 통해 그와 연락할 수 있다.

옮긴이의 말

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

옮긴이 소개

최광민

한양대학교에서 컴퓨터를 전공했고, 현재 삼성SDS 연구소에서 책임 연구원으로 재직 중이다. 회사에서든 일상에서든 새롭고 흥미로운 기술이라면 무엇이든 배우고 즐길 준비가 되어 있으며, 백발노인이 돼서도 끝없이 탐구하고 창조하는 사람이 되는 것을 인생의 목표로 삼고 있다.

이혜란

인하대학교 산업공학 전공을 마치고 현재 삼성SDS 연구소에서 선임 연구원으로 재직 중이다. 단지 심심해서 뭐든 도전하고 시도하고 본다. 스스로가 납득할 수 있는 노력과 결과물을 위해 매 순간 최선을 다하는 사람이고 싶다.

목차

목차
  • 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 구현
      • 서비스 계층
        • EmployeeService 인터페이스
        • EmployeeService 구현
      • 스프링 MVC 컨트롤러 클래스
      • 뷰 페이지
        • hello.jsp 페이지
        • employee.jsp 페이지
        • index.jsp 페이지
      • 애플리케이션 실행
    • @ControllerAdvice 예외 처리
      • GenericException 클래스
      • SpringException 클래스
      • EmployeeController 클래스
      • hello.jsp 페이지
      • exception.jsp 페이지
      • 애플리케이션 실행
    • Spring MVC 국제화(i18n)
      • 프로퍼티 파일
      • Spring 설정
        • ReloadableResourceBundleMessageSource
        • LocaleChangeInterceptor
        • SessionLocaleResolver
      • hello.jsp 페이지
      • 애플리케이션 실행
    • 컨트롤러를 통한 폼 핸들링
      • 스프링 MVC의 ModelAndView
      • 스프링 MVC 컨트롤러 클래스
        • 컨트롤러 클래스의 @ModelAttribute
        • 컨트롤러 클래스의 ModelMap
      • 뷰 페이지
      • 스프링 MVC 폼
      • 애플리케이션 실행
    • 연습문제
    • 요약

  • 6장. 스프링 시큐리티를 이용한 보안
    • 스프링 시큐리티의 의미
      • 주요 연산
    • 서블릿 필터 다시보기
    • 보안 유스케이스
    • 스프링 시큐리티 설정
      • 스프링 시큐리티 구성
        • 클래스패스에 JAR 추가
        • 스프링 시큐리티 의존성 - pom.xml
      • 네임스페이스 설정
    • 웹 애플리케이션의 URL 접근 보호
      • 첫 번째 단계 - web.xml
      • 보안 설정 분리
    • 웹 애플리케이션에 로그인
      • HTTP 기본 인증
      • 폼 기반 로그인 서비스
      • 로그아웃 서비스
      • 익명 로그인
      • 로그인 정보 기억
    • 사용자 인증
      • 메모리상의 정의를 이용한 사용자 인증
      • 데이터베이스를 이용한 사용자 인증
      • 패스워드 암호화
    • 메소드 레벨 보안
    • 본격적인 작업 시작
      • 프로젝트 구조
      • web.xml에 필터 추가
      • 뷰 결정
      • 맞춤형 로그인 추가
      • 로그인 요청 매핑
      • 직원 목록 조회
      • 계정정보 입력
      • 로그아웃
      • 애플리케이션 실행
    • 연습문제
    • 요약

  • 7장. 스프링을 이용한 테스트
    • JUnit 4를 이용한 테스트
      • JUnit 4 애노테이션
      • 어서트 메소드
      • JUnit 4 예제
    • TestNG를 이용한 테스트
      • TestNG 애노테이션
      • TestNG 예제
    • 애자일 소프트웨어 테스트
      • 단위 테스트
        • 고립 클래스의 단위 테스트
        • 모의 객체를 이용한 의존 클래스의 단위 테스트
        • Mockito 프레임워크
      • 통합 테스트
    • 스프링 MVC 컨트롤러의 단위 테스트 생성
    • 스프링 MVC 테스트 프레임워크
      • 필요한 의존성
      • 스프링 테스트의 애노테이션
        • @ContextConfiguration 애노테이션
        • @WebAppConfiguration 애노테이션
      • MockMvc
        • 어서션
      • @RunWith(SpringJUnit4ClassRunner.class)
    • 연습문제
    • 요약

  • 8장. JavaMail과 JMS의 스프링 연동
    • 스프링의 이메일 지원
      • JavaMail API 소개
      • JavaMail API 사용
      • JavaMail을 위한 스프링 API
      • 스프링 메일 애플리케이션 개발
        • 설정 파일 - Spring.xml
        • 스프링의 이메일 발신 클래스
        • MailerTest 클래스
    • 스프링 자바 메시징 서비스
      • 메시지와 메시징의 의미
      • JMS의 의미
      • JMS 애플리케이션
        • JMS 구성요소
      • MOM 서비스 제공자
        • ActiveMQ 설정 - 메시지 큐
      • 스프링 빈 설정(Spring.xml)
      • MessageSender.java - 스프링 JMS 템플릿
      • App.java
      • ActiveMQ 시작
      • 출력
      • 중계자 모니터링
      • App.java 실행 시 예외
    • 연습문제
    • 요약

  • 9장. 애노테이션을 이용한 스프링 제어역전
    • 애노테이션을 이용한 컨테이너 설정
      • XML 대 애노테이션
      • 빈 관리
        • 스테레오 타입 애노테이션
        • @Component
        • @Repository
        • @Service
        • @Controller
        • 감지된 구성요소의 명명 규칙
        • 구성요소 이름 직접 지정
        • 클래스 자동 감지와 빈 정의 등록
        • 필터를 이용한 검색 방식 조정
        • 스코프 정의 - @Scope
      • @Required 애노테이션을 이용한 의존관계 검사
      • 애노테이션 기반 의존관계 주입
      • @Autowired
        • 프로퍼티에 @Autowired 적용
        • @Qualifier
        • @Resource
      • 생명 주기 애노테이션
    • 스프링의 자바 기반 설정
      • @Configuration 애노테이션
      • @Bean 애노테이션
        • 빈 선언
        • 빈 이름 지정
        • 의존관계 주입
      • @Import 애노테이션
        • 생명주기 콜백
      • @Scope 애노테이션
    • 스프링의 이벤트 처리
      • 스프링의 표준 이벤트
      • 스프링의 표준 이벤트 리스닝
        • 리스너 생성
      • 스프링의 이벤트 발생
        • 사용자정의 이벤트 생성
        • 이벤트 발생
        • 사용자정의 이벤트 처리
      • 스프링 이벤트의 이점
    • 스프링 표현 언어
      • SpEL을 이용한 빈 참조
        • XML 기반 설정
        • 애노테이션 기반 설정
      • SpEL을 이용한 메소드 호출
        • XML 기반 설정
        • 애노테이션 기반 설정
      • SpEL의 연산자
        • XML 기반 설정
        • 애노테이션 기반 설정
      • SpEL의 컬렉션
        • XML 기반 설정
        • 애노테이션 기반 설정
      • SpEL의 정규표현식
        • XML 기반 설정
        • 애노테이션 기반 설정
    • 텍스트 메시지와 국제화
      • 스프링에서의 국제화(i18n)
    • 연습문제
    • 요약

  • 10장. 스프링의 관점지향 프로그래밍
    • 애플리케이션 개발에서 OOP의 문제점
    • AOP 소개
    • AOP 용어
      • 조인포인트
      • 어드바이스
      • 포인트컷
      • 애스펙트
      • 소개
      • 타깃
      • 프록시
      • 위빙
      • 위버
    • AOP 구현
    • 스프링의 AOP 지원
    • AspectJ 애노테이션 스타일
      • 스프링에서의 AspectJ 애노테이션 설정
      • 애스펙트 선언 - @AspectJ
      • 포인트컷 선언
      • 어드바이스 선언
        • 어드바이스 이전
        • 어드바이스 이후
        • 어드바이스 반환 후
        • 어드바이스 던진 후
        • 어드바이스 주변
      • 프록시
    • @AspectJ 애노테이션을 사용해 스프링 애플리케이션 개발
      • 애플리케이션의 디렉토리 구조
      • 자바 파일 생성
        • Employee.java
        • EmployeeService.java
        • LoggingAspect.java
        • PayrollsSystem.java
      • 스프링 설정 파일 생성
      • 애플리케이션 실행
    • XML 스키마 기반 설정
      • 애스펙트 선언
      • 포인트컷 선언
      • 어드바이스 선언
        • 어드바이스 이전
        • 어드바이스 이후
        • 어드바이스 반환 후
        • 어드바이스 던진 후
        • 어드바이스 주변
    • XML 스키마 기반 설정을 이용한 스프링 애플리케이션 개발
      • 자바 파일 생성
        • Employee.java
        • EmployeeService.java
        • LoggingAspect.java
        • PayrollsSystem.java
      • 스프링 설정 파일 생성
      • 애플리케이션 실행
    • 연습문제
    • 요약

  • 부록 A. 연습문제 해답
  • 부록 B. 아파치 더비를 이용한 애플리케이션 데이터베이스 구성
  • 부록 C. 스프링 폼 태그 라이브러리

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안