Spring 4 для профессионалов — Вы изучите основы и ключевые темы, связанные с платформой Spring. Авторы поделятся с вами собственным реальным опытом в области удаленной обработки, использования Hibernate и работы с EJB. Помимо основ вы научитесь применять Spring Framework для построения разнообразных уровней или частей корпоративного Java-приложения: транзакций, веб-уровня и уровня презентаций, развертывания и многого другого. Многочисленные примеры помогут вам в освоении технологий и приемов, рассмотренных в этой книге, а также в организации их совместной работы. Устойчивая и легковесная платформа Spring Framework с открытым кодом продолжает быть де-факто лидирующей инфраструктурой для разработки корпоративных Java-приложений. Она тесно взаимодействует с другими Java-технологиями подобного рода, такими как Hibernate, Groovy, MyBatis и т.д. Теперь Spring работает также с Java EE и JPA 2.
Название: Spring 4 для профессионалов Автор: Крис Шефер, Кларенс Хо, Роб Харроп Издательство: Вильямс Год: 2015 Страниц: 749 Формат: PDF Размер: 104 Мб ISBN: 978-5-8459-1992-2 Качество: Отличное Серия или Выпуск: Expert's Voice Язык: Русский
Содержание:
Об авторах О техническом рецензенте От издательства Введение Глава 1. Введение в Spring Что такое Spring? Эволюция Spring Framework Инверсия управления или внедрение зависимостей? Эволюция внедрения за висимостей За пределами внедрения зависимостей Проект Spring Происхождение Spring Сообщество Spring Комплект Spring Tool Suite Проект Spring Security Проекты Spring Batch и Spring lntegration Другие проекты Альтернативы Spring JBoss Seam Framework Google Guice PicoContainer Контейнер JЕЕ 7 Резюме Глава 2. Начало работы Получение Spring Framework Быстрое начало Извлечение Spring из GitHub Упаковка Spring Модули Spring Выбор модулей для разрабатываемого приложения Доступ к модулям Spring в репозитории Maven Использование документации Spring Помещение Spring в приложение «Hello World!" Построение примера приложения «Hello World!" Резюме Глава 3. Введение в loC и DI в Spring Инверсия управления и внедрение зависимостей Типы инверсии управления Тип Dependency Pull Тип Contextualized Dependency Lookup Тип Constructor Dependency lnjection Тип Setter Dependency lnjection Выбор между внедрением и поиском Выбор между Setter lnjection и Constructor lnjectioп Инверсия управления в Spring Внедрение зависимостей в Spriпg Бины и фабрики бинов Реализации BeanFactory Интерфейс ApplicationContext Конфигу рирование ApplicationContext Варианты конфигурации Spri пg Объявление компонентов Spring Использование внедрения через метод установки Использование внедрения через конструктор Использование параметров внедрения Использование внедрения через метод Именование бинов Режим создания экземпляров бинов Распознавание зависимостей Автосвязывание бина Режимы автосвязывания Когда используется автосвязывание Настройка наследования бинов Резюме Глава 4. Детальные сведения о конфигурации Spring Влияние Spring на переносимость приложений Управление жизненным циклом бинов Привязка к созданию бина Привязка к уничтожению бина Превращение бинов в «осведомленные о платформе Spring» Использование интерфейса BeanNameAware Использование интерфейса ApplicationContextAware Использование фабрик бинов Пример специальной фабрики бинов: класс MessageDigestFactoryBean Доступ к фабрике бинов напрямую Использование атрибутов factory-bean и factory-method Редакторы свойств для компонентов JavaBean Встроенные редакторы свойств Создание специального редактора свойств Дополнительные сведения о конфигурации ApplicationContext Интернационализация с помощью интерфейса MessageSource Использование MessageSource в автономных приложениях Интерфейс MessageSourceResol vаЫе События приложений Доступ к ресурсам Конфигурация, использующая Jаvа-классы Конфигурирование ApplicationContext в Java Выбор между конфигурациями Java и XML Профили Пример использования средства профилей Spri ng Соображения по поводу использования профилей Абстракция Environment и PropertySource Конфигурация, использующая аннотации JSR- Конфигурация, использующая Groovy Резюме Глава 5. Введение в аспектно-ориентированное программирование с использованием Spring Концепции АОП Типы АОП Использование статического АОП Использование динамического АОП Выбор типа АОП АОП в Spring Альянс АОП Пример «Hello \\Ь rld!» в АОП Архитектура АОП в Spring Класс ProxyFactory Создание совета в Spring Советы и срезы в Spri ng Интерфейс Pointcut Что собой представляют прокси Использование динамических прокси JDK Использование прокси CGLIB Сравнение производительности прокси Выбор прокси для использования Расширенное использование срезов Использование срезов потока управления Использование компонуемого среза Компоновка и интерфейс Pointcut Резюме по созданию срезов Начало работы с введениями Основы введений Обнаружение модификации объекта с помощью введений Резюме по введениям Службы платформы, предназначенные дл я АОП Декларативное конфигурирование АОП Использование ProxyFactoryBean Использование пространства имен аор Использование аннотаций в стиле @AspectJ Соображения по поводу декларативного конфигурирования АОП в Spring Интеграция с AspectJ Что собой представляет AspectJ Использование одиночных экземпляров аспектов Резюме Глава 6. Поддержка JDBC в Spring Введение в лямбда-выражения Модель данных для кода примеров Исследование инфраструктуры JDBC Инфраструктура JDВС в Spring Обзор пакетов JDВС в Spring Подключения к базе данных и источники данных Поддержка встроенной базы данных Использование источников данных в классах DAO Обработка исключений Класс JdbcTemplate Инициализация JdЬcTemplate в классе DAO Извлечение одиночного значения с использованием класса JdЬ cTemplate Использование именованных параметров с NamedParameterJdЬcTemplate Извлечение объектов предметной области с помощью RowMapper<T> Извлечение вложенных объектов предметной области с помощью ResultSetExtractor Классы Spring, моделирующие операции JDBC Настройка ОАО-классов JDBC с использованием аннотаций Запрашивание данных с использованием MappingSqlQuery<T> Обновление данных с использованием SqlUpdate Вставка данных и извлечение сгенерированного ключа Объединение операций в пакеты с помощью BatchSqlUpdate Вызов хранимых функций с использованием SqlFunction Проект Spring Data: расширения JDBC Соображения по поводу использования JDBC Резюме Глава 7. Использование Hibernate в Spring Модель данных дл я кода примера Конфигурирование фабрики сеансов Hibernate Объектно-реляционное отображение с использованием аннотаций Hibernate Простое отображение Отображение «один ко многим» Отображение «многие ко многим» Интерфейс Session в Hibernate Выполнение операций базы данных с помощью Hibern ate Запрашивание данных с использованием языка запросов Hibernate Вставка данных Обновление данных Удаление данных Соображения по поводу использования Hibernate Резюме Глава 8. Доступ к данным в Spring с использованием JPA Введение в J РА Использование модели данных для кода примеров Конфигурирование Enti t yManagerFactory из JРА Использование аннотаций JPA для отображения ORM Выполнение операций базы данных с помощью JPA Использование языка JРQLдля запрашивания данных Вставка данных Обновление данных Удаление данных Использование собственного запроса Использование АРI-интерфейса критериев JРА 2 для запроса с критерием Введение в проект Spring Data JPA Добавление библиотечных зависимостей Spring Data JPA Использование абстракции Repository из проекта Spring Data JРА для выполнения операций базы данных Отслеживание изменений в суruностном классе Отслеживание версий суruностей с использованием Hibemate Envers Добавление таблиц для отслеживания версий сущностей Конфигурирование EntityManagerFactory для отслеживания версий суruностей Включение отслеживания версий сущностей и извлечения хронологии Тестирование отслеживания версий сущностей Соображения по поводу того, когда использовать JPA Резюме Глава 9. Управление транзакциями Исследование уровня абстракции транзакций Spring Типы транзакций Реализации интерфейса PlatformTransactionManager Анализ свойств транзакций Интерфейс TransactionDefini tion Интерфейс TransactionStatus Модель данных и инфраструктура для кода примеров Создание простого проекта Spring Data JPA с зависимостями Модель данных и общие классы Декларативные и программные транзакции в Spring Использование аннотаций для управления транзакциями Использование ХМL-конфиrурации для управл ения транзакциями Использование программных транзакций Соображения по поводу управления транзакциями Глобальные транзакции в Spring Инфраструктура для реализации примера применения JTA Реализация глобальных транзакций с помощью JTA Соображения по поводу использования диспетчера транзакций JTA Резюме Глава 10. Проверка достоверности с преобразованием типов и форматированием Зависимости Система преобразования типов Spring Преобразование строковых значений с использованием редакторов свойств Введение в систему преобразования типов Spring Форматирование полей в Spring Реализация специального форматировщика Конфигурирование ConversionServiceFactoryBean Проверка достоверности в Spring Использование интерфейса Validator в Spring Использование спецификации JSR-349: Bean Va lidation Выбор АРI-интерфейса проверки достоверности мя использования Резюме Глава 11. Планирование задач в Spring Зависимости для примеров планирования задач Реализация планирования задач в Spring Введение в абстракцию TaskScheduler Пример задачи Использование пространства имен task мя планирования задач Использование аннотаций для планирования задач Асинхронное выполнение задач в Spring Выполнение задач в Spring Резюме Глава 12. Использование удаленной обработки в Spring Добавление обязательных зависимостей для серверной части JPA Модель данных для примеров Реализация и конфигурирование интерфейса ContactService Использование НТГ Р-активатора Spring Открытие службы Вызов службы Использование JMS в Spring Установка сервера ActiveMQ Реализация прослушивателя JMS в Spring Отправка сообщений JMS в Spring Работа с JMS 2.0 Использование веб-служб REST в Spring Введение в веб-службы REST Добавление обязательных зависимостей для примеров Проектирование веб-службы REST для контактной информации Использование Spri ng MVC мя открытия веб-служб REST Использование curl для тестирования веб-служб REST Использование класса RestTemplate для доступа к веб-службам REST Защита веб-служб REST с помощью Spring Security Использование AMQP в Spring Резюме Глава 13. Тестирование в Spring Введение в корпоративную инфраструктуру тестирования Использование аннотаций тестирования Spring Реализация модульных тестов логики Добавление обязательных зависимос тей Модульное тестирование контроллеров Spring MVC Реализация тестирования взаимодействия Добавление обязательных зависимостей Конфигурирование профиля для тестирования уровня обслуживания Реализация классов инфраструктуры Модульное тестирование уровня обслуживания Реализация модульного тестирования интерфейсной части Введение в Seleniнm Резюме Глава 14. Подд ержка написания сценариев в Spring Работа с подд ержкой написания сценариев в Java Введение в Groovy Динамическая типизация Упрощенный синтаксис Замыкание Использование Groovy в Spring Добавление обязательных зависимостей Разработка предметной области, связанной с контактами Реализация процессора правил Реал изация фабрики правил в виде обновляемого бина Spring Тестирование правила возрастной категории Встраивание кода на динамическом языке Резюме Глава 15. Мониторинг приложений Spring Поддержка JMX в Spring Экспортирование бина Spring в JMX Настройка VisнalVM для мониторинга JMX Мониторинг статистики Hibernate Резюме Глава 16. Разработка веб-приложений в Spring Реализация уровня обслуживания для примеров Использование модели данных для примеров Реализация и конфигурирование интерфейса ContactService Введение в MVC и Spring MVC Введение в MVC Введение в Spring МVС Создание первого представления в Spring MVC Конфигурирование сервл ета диспетчера Реализация класса ContactController Реализация представления для списка контактов Тестирование представления списка контактов Обзор структуры проекта Spring MVC Включение интернационализации Конфигурирование интернационализации в сервлете диспетчера Модификация представления списка контактов для поддержки интернационализации Использование шаблонов и оформления темами Поддержка оформления темами Применение шаблонов представлений с помощью Apache Тiles Реализация представлений для информации о контактах Отображение U RL на представления Реализация представления для просмотра контакта Реализация представления для редактирования контакта Реализация представления для добавления контакта Включение проверки достоверности бинов JSR-349 Использование jQuеrу иjQuery UI Введение в jQuery и jQuery UI Активизация jQuеrу и jQuery UI в представлении Редактирование форматированного текста с помощью CKEditor Использование jqGrid для построения сетки данных, поддерживающей разбиение на страницы Обработка загрузки файлов Конфигурирование поддержки загрузки файлов Изменение представлений для поддержки загрузки файлов Изменение контроллера для поддержки загрузки файлов Защита веб-приложения с помощью Spriпg Security Конфигурирование Spring Security Добавление к приложению функций входа Использование аннотаций для защиты методов контроллера Поддержка конфигурации на основе кода для Servlet 3 Резюме Глава 17. Протокол WebSocket Введение в WebSocket Использование WebSocket совместно с платформой Spring Использование WebSocket API Использование SockJS Отправка сообщений с помощью STOMP Резюме Глава 18. Проекты Spring: Spring Batch, Spring lntegration, Spring XD и Spring Boot Проект Spring Batch Спецификация JSR-352 Проект Spring Integration Проект Spring XD Проект Spring Boot Резюме Предметный указатель