Spring 5 для профессионалов 978-5-907114-07-4

449 50 93MB

Russian Pages 1122 Year 2019

Report DMCA / Copyright

DOWNLOAD FILE

Spring 5 для профессионалов
 978-5-907114-07-4

Table of contents :
Посвящение......Page 22
Об авторах......Page 23
О техническом рецензенте......Page 24
Благодарности......Page 25
Введение. Ждем ваших отзывов!......Page 28
Глава 1. Введение в Spring......Page 30
Эволюция Spring Framework......Page 31
Инверсия управления или внедрение зависимостей?......Page 39
Эволюция внедрения зависимостей......Page 41
Другие возможности, помимо внедрения зависимостей......Page 43
Происхождение Spring......Page 51
Комплект Spring Tool Suite......Page 52
Проект Spring Boot......Page 53
Альтернативы Spring......Page 54
Контейнер JEE 7......Page 55
Резюме......Page 56
Глава 2. Начало работы......Page 58
Получение Spring Framework......Page 59
Выбор подходящего комплекта JDK......Page 60
Упаковка Spring......Page 61
Выбор модулей для приложения......Page 64
Доступ к модулям Spring в хранилище Maven......Page 65
Доступ к модулям Spring из Gradle......Page 67
Построение примера приложения “Hello World!”......Page 68
Реорганизация кода средствами Spring......Page 74
Резюме......Page 79
Глава 3. Инверсия управления и внедрение зависимостей в Spring......Page 80
Типы инверсии управления......Page 81
Извлечение зависимостей......Page 82
Контекстный поиск зависимостей......Page 83
Внедрение зависимостей через конструктор......Page 84
Внедрение зависимостей через метод установки......Page 85
Выбор между внедрением и поиском зависимостей......Page 86
Выбор между внедрением зависимостей через конструктор и метод установки......Page 87
Инверсия управления в Spring......Page 91
Компоненты Spring Beans и их фабрики......Page 92
Реализации интерфейса BeanFactory......Page 93
Способы конфигурирования приложений Spring......Page 96
Краткое описание простой конфигурации......Page 97
Объявление компонентов Spring......Page 99
Внедрение зависимостей через метод класса......Page 140
Именование компонентов Spring Beans......Page 155
Разрешение зависимостей......Page 172
Автосвязывание компонентов Spring Beans......Page 176
Когда следует применять автосвязывание......Page 188
Настройка наследования компонентов Spring Beans......Page 189
Резюме......Page 191
Глава 4. Конфигурирование и начальная загрузка в Spring......Page 194
Влияние Spring на переносимость приложений......Page 196
Управление жизненным циклом компонентов Spring Beans......Page 197
Создание компонентов Spring Beans......Page 199
Выполнение метода при создании компонента Spring Bean......Page 201
Реализация интерфейса InitializingBean......Page 206
Применение аннотации @PostConstruct по спецификации JSR-250......Page 208
Объявление метода инициализации с помощью аннотации @Bean......Page 212
Описание порядка разрешения зависимостей......Page 213
Уничтожение компонентов Spring Beans......Page 214
Выполнение метода при уничтожении компонента Spring Bean......Page 215
Реализация интерфейса DisposableBean......Page 217
Применение аннотации @PreDestroy по спецификации JSR-250......Page 219
Объявление метода уничтожения с помощью аннотации @Bean......Page 221
Применение перехватчика завершения......Page 223
Информирование компонентов Spring Beans об их контексте......Page 224
Применение интерфейса BeanNameAware......Page 225
Применение интерфейса ApplicationContextAware......Page 227
Применение фабрик компонентов Spring Beans......Page 230
Класс MessageDigestFactoryBean как пример фабрики компонентов Spring Beans......Page 231
Непосредственный доступ к фабрике компонентов Spring Beans......Page 236
Применение атрибутов factory-bean и factory-method......Page 237
Редакторы свойств компонентов Spring Beans......Page 239
Применение встроенных редакторов строк......Page 240
Создание специального редактора свойств......Page 247
Еще о конфигурировании в контексте типа ApplicationContext......Page 250
Интернационализация средствами интерфейса MessageSource......Page 251
События в приложениях......Page 256
Доступ к ресурсам......Page 260
Конфигурирование контекста типа ApplicationContext на Java......Page 262
Смешанное конфигурирование в Spring......Page 273
Выбор между конфигурированием на Java и в формате XML......Page 276
Пример применения профилей в Spring......Page 277
Конфигурирование профилей Spring на языке Java......Page 281
Абстракция через интерфейсы Environment и PropertySource......Page 284
Конфигурирование с помощью аннотаций JSR-330......Page 290
Конфигурирование средствами Groovy......Page 295
Модуль Spring Boot......Page 298
Резюме......Page 306
Глава 5. Введение в АОП средствами Spring......Page 308
Основные понятия АОП......Page 310
Реализация статического АОП......Page 311
АОП в Spring......Page 312
Пример вывода обращения в АОП......Page 313
Архитектура АОП в Spring......Page 315
Точки соединения в Spring......Page 316
Описание класса ProxyFactory......Page 317
Создание совета в Spring......Page 318
Создание предшествующего совета......Page 320
Защита доступа к методам с помощью предшествующего совета......Page 322
Создание послевозвратного совета......Page 327
Создание окружающего совета......Page 331
Создание перехватывающего совета......Page 335
Советники и срезы в Spring......Page 338
Интерфейс Pointcut......Page 339
Доступные реализации интерфейса Pointcut......Page 341
Применение класса DefaultPointcutAdvisor......Page 342
Создание статического среза с помощью класса StaticMethodMatcherPointcut......Page 343
Создание динамического среза с помощью класса DynamicMethodMatcherPointcut......Page 347
Простое сопоставление имен методов......Page 350
Создание срезов с помощью регулярных выражений......Page 353
Создание срезов с помощью выражений AspectJ......Page 354
Создание срезов, совпадающих с аннотациями......Page 356
Удобные реализации интерфейса Advisor......Page 358
Общее представление о заместителях......Page 359
Применение динамических заместителей из комплекта JDK......Page 360
Применение заместителей из библиотеки CGLIB......Page 361
Сравнение производительности заместителей......Page 362
Расширенное использование срезов......Page 367
Применение срезов потока управления......Page 368
Применение составного среза......Page 370
Составление срезов и интерфейс Pointcut......Page 375
Краткие итоги по срезам......Page 376
Основные положения о введениях......Page 377
Выявление изменений в объекте с помощью введений......Page 379
Каркасные службы для АОП......Page 386
Применение класса ProxyFactoryBean......Page 387
Применение пространства имен aop......Page 395
Применение аннотаций в стиле @AspectJ......Page 402
Соображения по поводу декларативного конфигурирования АОП в Spring......Page 411
Общее представление о AspectJ......Page 412
Применение одиночных экземпляров аспектов......Page 413
Резюме......Page 417
Глава 6. Поддержка JDBC в Spring......Page 418
Модель выборочных данных для исходного кода примеров......Page 420
Исследование инфраструктуры JDBC......Page 427
Краткий обзор применяемых пакетов......Page 433
Соединения с базой данных и источники данных......Page 434
Поддержка встроенной базы данных......Page 441
Применение источников данных в классах DAO......Page 443
Обработка исключений......Page 446
Инициализация объекта типа JdbcTemplate в классе DAO......Page 448
Извлечение одиночного значения средствами класса JdbcTemplate......Page 450
Применение именованных параметров запроса с помощью класса NamedParameterJdbcTemplate......Page 451
Извлечение объектов предметной области с помощью интерфейса RowMapper

Polecaj historie