Крейг Уоллс (Craig Walls) - Spring в действии / Spring in Action

Скачать

Крейг Уоллс (Craig Walls) - Spring в действии / Spring in Action

Spring в действии. 3-издание / Spring in Action. Third Edition.

Год: 2013

Автор: Крейг Уоллс (Craig Walls)

Жанр: Практическое пособие

Издательство: ДМК Пресс

ISBN: 978-5-94074-568-6

Серия: In Action

Язык: Русский

Формат: PDF

Качество: Изначально компьютерное

Количество страниц: 752

Описание:

Фреймворк Spring Framework – необходимый инструмент для разработчиков приложений на Java.

В книге описана последняя версия Spring 3, который несет в себе новые мощные особенности, такие как язык выражений SpEL, новые аннотации для работы с контейнером IoC и поддержка архитектуры REST. Автор, Крейг Уоллс, обладает особым талантом придумывать весьма интересные примеры, сосредоточенные на особенностях и приемах использования Spring, которые действительно будут полезны читателям.

В русскоязычном переводе добавлены главы из 2-го американского издания, которые автор не включил в 3-е издание «Spring in Action».

Издание предназначено как для начинающих пользователей фреймворка, так и для опытных пользователей Spring, желающих задействовать новые возможности версии 3.0.

Предисловие

Предисловие к русскому изданию

Предисловие

Благодарности

Об этой книге

Об иллюстрации на обложке

Часть I. Ядро Spring

Глава 1. Введение в Spring

1.1. Упрощение разработки на языке Java

1.1.1. Свобода использования POJO

1.1.2. Внедрение зависимостей

1.1.3. Применение аспектно-ориентированного программирования

1.1.4. Устранение шаблонного кода с помощью шаблонов

1.2. Контейнер компонентов

1.2.1. Работа с контекстом приложения

1.2.2. Жизненный цикл компонента

1.3. Обзор возможностей Spring

1.3.1. Модули Spring

1.3.2. Дополнительные возможности Spring

1.4. Что нового в Spring

1.4.1. Что нового в Spring 2.5?

1.4.2. Что нового в Spring 3.0?

1.4.3. Что нового в экосистеме Spring?

1.5. В заключение

Глава 2. Связывание компонентов

2.1. Объявление компонентов

2.1.1. Подготовка конфигурации Spring

2.1.2. Объявление простого компонента

2.1.3. Внедрение через конструкторы

2.1.4. Область действия компонента

2.1.5. Инициализация и уничтожение компонентов

2.2. Внедрение в свойства компонентов

2.2.1. Внедрение простых значений

2.2.2. Внедрение ссылок на другие компоненты

2.2.3. Связывание свойств с помощью пространства имен p

2.2.4. Внедрение коллекций

2.2.5. Внедрение пустого значения

2.3. Внедрение выражений

2.3.1. Основы языка выражений SpEL

2.3.2. Выполнение операций со значениями SpEL

2.3.3. Обработка коллекций на языке SpEL

2.4. В заключение

Глава 3. Дополнительные способы связывания компонентов

3.1. Объявление родителей и потомков компонентов

3.1.1. Абстрактные компоненты

3.1.2. Общие абстрактные свойства

3.2. Внедрение методов

3.2.1. Основы замещения методов

3.2.2. Использование внедрения методов чтения

3.3. Внедрение не-Spring компонентов

3.4. Пользовательские редакторы свойств

3.5. Специальные компоненты Spring

3.5.1. Компоненты постобработки

3.5.2. Постобработка контейнера

3.5.3. Внешние файлы с настройками свойств

3.5.4. Извлечение текстовых сообщений

3.5.5. Уменьшение связности с использованием событий

3.5.6. Создание «осведомленных» компонентов

3.6. Компоненты, управляемые сценариями

3.6.1. Добавляем лайм в кокос

3.6.2. Компонент, управляемый сценарием

3.6.3. Внедрение в свойства компонентов, управляемых сценариями

3.6.4. Обновление компонентов, управляемых сценариями

3.6.5. Создание компонентов, управляемых сценариями, непосредственно в конфигурации

3.7. В заключение

Глава 4. Сокращение размера XML-конфигурации Spring

4.1. Автоматическое связывание свойств компонентов

4.1.1. Четыре типа автоматического связывания

4.1.2. Смешивание автоматического и явного связывания

4.2. Связывание посредством аннотаций

4.2.1. Использование аннотации @Autowired

4.2.2. Автоматическое связывание с применением стандартной аннотации @Inject

4.2.3. Использование выражений в аннотациях внедрения зависимостей

4.3. Автоматическое определение компонентов

4.3.1. Аннотирование компонентов для автоматического определения

4.3.2. Включение фильтров в элемент component-scans

4.4. Конфигурирование Spring в программном коде на Java

4.4.1. Подготовка к конфигурированию на языке Java

4.4.2. Определение конфигурационных классов

4.4.3. Объявление простого компонента

4.4.4. Внедрение зависимостей в конфигурации на языке Java

4.5. В заключение

Глава 5. Аспектно-ориентированный Spring

5.1. Знакомство с AOP

5.1.1. Определение терминологии AOP

5.1.2. Поддержка AOP в Spring

5.2. Выбор точек сопряжения в описаниях срезов сопряжения

5.2.2. Использование указателя bean()

5.3. Объявление аспектов в XML

5.3.1. Объявление советов, выполняемых до или после

5.3.2. Объявление советов, выполняемых и до, и после

5.3.3. Передача параметров советам

5.3.4. Внедрение новых возможностей с помощью аспектов

5.4. Аннотирование аспектов

5.4.1. Создание советов, выполняемых и до, и после

5.4.2. Передача аргументов аннотированным советам

5.4.3. Внедрение с помощью аннотаций

5.5. Внедрение аспектов AspectJ

5.6. В заключение

Часть II. Основы приложений Spring

Глава 6. Работа с базами данных

6.1. Философия доступа к данным в Spring

6.1.1. Знакомство с иерархией исключений доступа к данным в Spring

6.1.2. Шаблоны доступа к данным

6.1.3. Использование классов поддержки DAO

6.2. Настройка источника данных

6.2.1. Использование источников данных из JNDI

6.2.2. Использование пулов соединений

6.2.3. Источник данных JDBC

6.3. Использование JDBC совместно со Spring

6.3.1. Борьба с разбуханием JDBC-кода

6.3.2. Работа с шаблонами JDBC

6.4. Интеграция Hibernate и Spring

6.4.1. Обзор Hibernate

6.4.2. Объявление фабрики сеансов Hibernate

6.4.3. Создание классов для работы с Hibernate, независимых от Spring

6.5. Spring и Java Persistence API

6.5.1. Настройка фабрики диспетчера сущностей

6.5.2. Объект DAO на основе JPA

6.6. Кеширование

6.6.1. Настройка кеширования

6.6.2. Настройка компонентов для кеширования

6.6.3. Декларативное кеширование с помощью аннотаций

6.7. В заключение

Глава 7. Управление транзакциями

7.1. Знакомство с транзакциями

7.1.1. Описание транзакций в четырех словах

7.1.2. Знакомство с поддержкой транзакций в Spring

7.2. Выбор диспетчера транзакций

7.2.1. Транзакции JDBC

7.2.2. Транзакции Hibernate

7.2.3. Транзакции Java Persistence API

7.2.4. Транзакции Java Transaction API

7.3. Программное управление транзакциями в Spring

7.4. Декларативное управление транзакциями

7.4.1. Определение атрибутов транзакций

7.4.2. Объявление транзакций в XML

7.4.3. Определение транзакций с помощью аннотаций

7.5. В заключение

Глава 8. Создание веб-приложений с помощью Spring MVC

8.1. Обзор Spring MVC

8.1.1. Путь одного запроса через Spring MVC

8.1.2. Настройка Spring MVC

8.2. Создание простого контроллера

8.2.1. Настройка поддержки аннотаций в Spring MVC

8.2.2. Контроллер главной страницы

8.2.3. Поиск представлений

8.2.4. Объявление представления главной страницы

8.2.5. Завершение определения контекста приложения Spring

8.3. Контроллер обработки входных данных

8.3.1. Создание контроллера, обрабатывающего входные данные

8.3.2. Представление, отображающее список сообщений

8.4. Обработка форм

8.4.1. Отображение формы регистраци

8.4.2. Обработка данных формы

8.4.3. Проверка входных данных

8.5. Выгрузка файлов

8.5.1. Добавление в форму поля выгрузки файла

8.5.2. Прием выгружаемых файлов

8.5.3. Настройка Spring для выгрузки файлов

8.6. Альтернативы JSP1

8.6.1. Использование шаблонов Velocity

8.6.2. Использование шаблонов FreeMarker

8.7. Генерирование вывода, отличного от HTML

8.7.1. Создание электронных таблиц Excel

8.7.2. Создание документов PDF

8.8. В заключение

Глава 9. Использование Spring Web Flow

9.1. Установка Spring Web Flow

9.1.1. Настройка расширения Web Flow в Spring

9.2. Элементы последовательности операций

9.2.1. Состояния

9.2.2. Переходы

9.2.3. Данные в последовательностях

9.3. Соединяем все вместе: последовательность pizza

9.3.1. Определение основной последовательности

9.3.2. Сбор информации о клиенте

9.3.3. Оформление заказа

9.3.4. Прием оплаты

9.4. Безопасность веб-последовательностей

9.5. Интеграция Spring Web Flow с другими фреймворками

9.5.1. JavaServer Faces

9.6. В заключение

Глава 10. Безопасность в Spring

10.1. Введение в Spring Security

10.1.1. Обзор Spring Security

10.1.2. Использование конфигурационного пространства имен Spring Security

10.2. Безопасность веб-запросов

10.2.1. Сервлет-фильтры

10.2.2. Минимальная настройка безопасности

10.2.3. Перехват запросов

10.3. Безопасность на уровне представлений

10.3.1. Доступ к информации об аутентификации

10.3.2. Отображение с учетом привилегий

10.4. Аутентификация пользователей

10.4.1. Настройка репозитория в памяти

10.4.2. Аутентификация с использованием базы данных

10.4.3. Аутентификация с использованием LDAP

10.4.4. Включение функции «запомнить меня»

10.5. Защита методов

10.5.1. Защита методов с помощью аннотации @Secured

10.5.2. Использование аннотации JSR-250 @RolesAllowed

10.5.3. Защита с помощью аннотаций, выполняемых до и после вызова

10.5.4. Объявление точек внедрения для защиты методов

10.6. В заключение

Часть III. Интеграция Spring

Глава 11. Взаимодействие с удаленными службами

11.1. Обзор механизмов удаленных взаимодействий в Spring

11.2. Использование RMI

11.2.1. Экспортирование службы RMI

11.2.2. Внедрение службы RMI

11.3. Экспортирование удаленных служб с помощью Hessian и Burlap

11.3.1. Экспортирование службы с помощью Hessian/Burlap

11.3.2. Доступ к службам Hessian/Burlap

11.4. Использование Spring Http Invoker

11.4.1. Экспортирование компонентов в виде служб HTTP Invoker

11.4.2. Доступ к службам HTTP Invoker

11.5. Экспортирование и использование веб-служб

11.5.1. Создание конечных точек JAX-WS с поддержкой Spring

11.5.2. Проксирование служб JAX-WS на стороне клиента

11.6. В заключение

Глава 12. Поддержка архитектуры REST в Spring

12.1. Обзор архитектуры REST

12.1.1. Основы REST

12.1.2. Поддержка REST в Spring

12.2. Создание контроллеров, ориентированных на ресурсы

12.2.1. Устройство контроллера, противоречащего архитектуре REST

12.2.2. Обработка адресов URL в архитектуре RESTful

12.2.3. Выполнение операций в стиле REST

12.3. Представление ресурсов

12.3.1. Договоренность о представлении ресурса

12.3.2. Преобразование HTTP-сообщений

12.4. Клиенты REST

12.4.1. Операции класса RestTemplate

12.4.2. Чтение ресурсов

12.4.3. Изменение ресурсов

12.4.4. Удаление ресурсов

12.4.5. Создание новых ресурсов

12.4.6. Обмен ресурсами

12.5. Отправка форм в стиле RESTful

12.5.1. Отображение скрытого поля с именем метода

12.5.2. Преобразование типа запроса

12.6. В заключение

Глава 13. Обмен сообщениями в Spring

13.1. Краткое введение в JMS

13.1.1. Архитектура JMS

13.1.2. Преимущества JMS

13.2. Настройка брокера сообщений в Spring

13.2.1. Создание фабрики соединений

13.2.2. Объявление приемников ActiveMQ

13.3. Работа с шаблонами JMS в Spring

13.3.1. Борьба с разбуханием JMS-кода

13.3.2. Работа с шаблонами JMS

13.4. Создание POJO, управляемых сообщениями

13.4.1. Создание объекта для чтения сообщений

13.4.2. Настройка обработчиков сообщений

13.5. Механизмы RPC, основанные на сообщениях

13.5.1. Механизм RPC, основанный на сообщениях, в фреймворке Spring

13.5.2. Механизм RPC, основанный на сообщениях, в Lingo

13.6. В заключение

Глава 14. Управление компонентами Spring с помощью JMX

14.1. Экспортирование компонентов Spring как управляемых компонентов

14.1.1. Экспортирование методов по их именам

14.1.2. Определение экспортируемых операций и атрибутов с помощью интерфейсов

14.1.3. Объявление управляемых компонентов с помощью аннотаций

14.1.4. Разрешение конфликтов между управляемыми компонентами

14.2. Удаленные компоненты MBean

14.2.1. Экспортирование удаленного компонента MBean

14.2.2. Доступ к удаленным компонентам MBean

14.2.3. Проксирование управляемых компонентов

14.3. Обработка извещений

14.3.1. Прием извещений

14.4. В заключение

Глава 15. Создание веб-служб на основе модели contract-first

15.1. Введение в Spring-WS

15.2. Определение API службы (в первую очередь!)

15.2.1. Создание примеров XML-сообщений

15.3. Обработка сообщений в веб-службе

15.3.1. Создание конечной точки на основе модели JDOM

15.3.2. Маршалинг содержимого сообщений

15.4. Связываем все вместе

15.4.1. Spring-WS: общая картина

15.4.2. Отображение сообщений в конечные точки

15.4.3. Настройка конечной точки службы

15.4.4. Настройка маршалера сообщений

15.4.5. Обработка исключений в конечной точке

15.4.6. Создание WSDL-файлов

15.4.7. Развертывание службы

15.5. Использование веб-служб Spring-WS

15.5.1. Работа с шаблонами веб-служб

15.5.2. Использование поддержки шлюза веб-служб

15.6. В заключение

Глава 16. Spring и Enterprise JavaBeans

16.1. Внедрение компонентов EJB в Spring

16.1.1. Проксирование сеансовых компонентов (EJB 2.x)

16.1.2. Внедрение компонентов EJB в компоненты Spring

16.2. Разработка компонентов с поддержкой Spring (EJB 2.x)

16.3. Spring и EJB3

16.3.1. Pitchfork

16.3.2. Введение в Pitchfork

16.3.3. Внедрение ресурсов с помощью аннотации

16.3.4. Объявление перехватчиков с помощью аннотаций

16.4. В заключение

Глава 17. Прочее

17.1. Импортирование внешних настроек

17.1.1. Подстановка переменных-заполнителей

17.1.2. Переопределение свойств

17.1.3. Шифрование внешних определений свойств

17.2. Внедрение объектов из JNDI

17.2.1. Работа с обычным JNDI API

17.2.2. Внедрение объектов из JNDI

17.2.3. Внедрение компонентов EJB в Spring

17.3. Отправка электронной почты

17.3.1. Настройка отправки электронной почты

17.3.2. Создание электронных писем

17.4. Выполнение заданий по расписанию и в фоновом режиме

17.4.1. Объявление методов, вызываемых по расписанию

17.4.2. Объявление асинхронных методов

17.5. В заключение

17.6. Конец?

Предметный указатель

Скачать