Spring быстро [Лауренциу Спилкэ] (pdf) читать постранично, страница - 2

-  Spring быстро  23.59 Мб, 448с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Лауренциу Спилкэ

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Иллюстрация на обложке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Часть I
Основные принципы
Глава 1. Spring в реальном мире . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.1. Зачем нужны фреймворки . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.2. Экосистема Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.2.1. Spring Core вблизи: ядро Spring . . . . . . . . . . . . . . . . . . . . 34
1.2.2. Сохранение данных приложения .
с помощью Spring Data Access . . . . . . . . . . . . . . . . . . . . . . . . . 36

8  Оглавление
1.2.3. Возможности Spring MVC для разработки .
веб-приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.2.4. Тестирование в Spring . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.2.5. Проекты на базе экосистемы Spring . . . . . . . . . . . . . . . . . . 37
1.3. Spring в реальных задачах . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.1. Использование Spring для разработки .
серверных приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.2. Использование Spring для средств .
автоматизации тестирования . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3.3. Использование Spring для разработки .
десктопных приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.4. Использование Spring в мобильных приложениях . . . . . . . . 44
1.4. Когда не стоит использовать фреймворки . . . . . . . . . . . . . . . . . . 44
1.4.1. Приложение должно занимать как можно меньше места . . . . . 45
1.4.2. Безопасность требует написать весь код самостоятельно . . . . 45
1.4.3. Использовать фреймворк нецелесообразно из-за слишком
большого количества настроек . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.4.4. Когда переход на фреймворк не приносит пользы . . . . . . . . . 46
1.5. Чему вы научитесь, прочитав эту книгу . . . . . . . . . . . . . . . . . . . 48
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Глава 2. Контекст Spring: что такое бины . . . . . . . . . . . . . . . . . . . . . . . 50
2.1. Создание проекта Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.2. Добавление бинов в контекст Spring . . . . . . . . . . . . . . . . . . . . . 57
2.2.1. Добавление бинов в контекст Spring .
с помощью аннотации @Bean . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.2.2. Добавление бинов в контекст Spring .
с помощью стереотипных аннотаций . . . . . . . . . . . . . . . . . . . . 70
2.2.3. Программное добавление бинов в контекст Spring . . . . . . . . 75
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Глава 3. Контекст Spring: создаем новые бины . . . . . . . . . . . . . . . . . . . 80
3.1. Установка связей между бинами, описанными .
в файле конфигурации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.1.1. Монтаж бинов путем прямого вызова одного метода
с аннотацией @Bean из другого такого же метода . . . . . . . . . . . . . 85

Оглавление  9
3.1.2. Монтаж бинов путем передачи параметра в метод .
с аннотацией @Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.2. Внедрение бинов с помощью аннотации @Autowired . . . . . . . . . . . 91
3.2.1. Внедрение значений через поля класса с использованием
аннотации @Autowired . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.2.2. Использование аннотации @Autowired для внедрения .
значения через конструктор . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.2.3. Внедрение зависимости через сеттер . . . . . . . . . . . . . . . . . 96
3.3. Циклические зависимости . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.4. Выбор из нескольких бинов в контексте Spring . . . . . . . . . . . . . . 99
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Глава 4. Контекст Spring: использование абстракций . . . . . . . . . . . . . . 106
4.1. Применение интерфейсов для определения контрактов . . . . . . . . 107
4.1.1. Использование интерфейсов для разделения реализаций . . . 107
4.1.2. Условия задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.1.3. Реализация сценариев использования без применения
фреймворка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2. Использование внедрения зависимостей для абстракций . . . . . . . 117
4.2.1. Выбор объектов для добавления .
в контекст Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.2.2. Выбор одной из реализаций абстракции для автомонтажа . . 123
4.3. Подробнее об обязанностях объектов со стереотипными .
аннотациями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Глава 5. Контекст Spring: области видимости и жизненный цикл бинов . . 132
5.1. Использование одиночной области видимости . . . . . . . . . . . . . . 133
5.1.1. Что такое одиночный бин . . . . . . . . . . . . . . . . . . . . . . . 133
5.1.2. Одиночные бины в реальных приложениях . . . . . . . . . . . . 141
5.1.3. Немедленное и «ленивое» создание экземпляров . . . . . . . . 143
5.2.