Java-программистам необходим фреймворк Spring. Этот невероятный инструмент универсален: вы можете разрабатывать как приложения для малого бизнеса, так и микросервисервисные архитектуры промышленного масштаба. Освоить Spring не так-то просто, но первый шаг сделать легко! Книга предназначена для Java-разработчиков, желающих создавать приложения на основе Spring. Информативные иллюстрации, понятные примеры, а также ясное и живое изложение Лауренциу Спилкэ позволят быстро овладеть необходимыми навыками. Вы научитесь планировать, разрабатывать и тестировать приложения. Благодаря акценту на наиболее важных функциях разберетесь в богатой экосистеме фреймворка Spring.
Author(s): Лауренциу Спилкэ
Edition: 1
Publisher: Питер
Year: 2023
Language: Russian
Commentary: Vector PDF
Pages: 448
City: СПб.
Tags: Java; Web Applications; Testing; Spring Framework; Aspect-oriented Programming; REST API; Maven; Data Persistence; Software Contracts; Spring Boot
Предисловие
Введение
Благодарности
О книге
Кто должен прочитать эту книгу
Структура издания
О коде
Об авторе
Об иллюстрации на обложке
От издательства
Часть I. Основные принципы
Глава 1. Spring в реальном мире
1.1. Зачем нужны фреймворки
1.2. Экосистема Spring
1.2.1. Spring Core вблизи: ядро Spring
1.2.2. Сохранение данных приложения с помощью Spring Data Access
1.2.3. Возможности Spring MVC для разработки веб-приложений
1.2.4. Тестирование в Spring
1.2.5. Проекты на базе экосистемы Spring
1.3. Spring в реальных задачах
1.3.1. Использование Spring для разработки серверных приложений
1.3.2. Использование Spring для средств автоматизации тестирования
1.3.3. Использование Spring для разработки десктопных приложений
1.3.4. Использование Spring в мобильных приложениях
1.4. Когда не стоит использовать фреймворки
1.4.1. Приложение должно занимать как можно меньше места
1.4.2. Безопасность требует написать весь код самостоятельно
1.4.3. Использовать фреймворк нецелесообразно из-за слишком большого количества настроек
1.4.4. Когда переход на фреймворк не приносит пользы
1.5. Чему вы научитесь, прочитав эту книгу
Резюме
Глава 2. Контекст Spring: что такое бины
2.1. Создание проекта Maven
2.2. Добавление бинов в контекст Spring
2.2.1. Добавление бинов в контекст Spring с помощью аннотации @Bean
2.2.2. Добавление бинов в контекст Spring с помощью стереотипных аннотаций
2.2.3. Программное добавление бинов в контекст Spring
Резюме
Глава 3. Контекст Spring: создаем новые бины
3.1. Установка связей между бинами, описанными в файле конфигурации
3.1.1. Монтаж бинов путем прямого вызова одного метода с аннотацией @Bean из другого такого же метода
3.1.2. Монтаж бинов путем передачи параметра в метод с аннотацией @Bean
3.2. Внедрение бинов с помощью аннотации @Autowired
3.2.1. Внедрение значений через поля класса с использованием аннотации @Autowired
3.2.2. Использование аннотации @Autowired для внедрения значения через конструктор
3.2.3. Внедрение зависимости через сеттер
3.3. Циклические зависимости
3.4. Выбор из нескольких бинов в контексте Spring
Резюме
Глава 4. Контекст Spring: использование абстракций
4.1. Применение интерфейсов для определения контрактов
4.1.1. Использование интерфейсов для разделения реализаций
4.1.2. Условия задачи
4.1.3. Реализация сценариев использования без применения фреймворка
4.2. Использование внедрения зависимостей для абстракций
4.2.1. Выбор объектов для добавления в контекст Spring
4.2.2. Выбор одной из реализаций абстракции для автомонтажа
4.3. Подробнее об обязанностях объектов со стереотипными аннотациями
Резюме
Глава 5. Контекст Spring: области видимости и жизненный цикл бинов
5.1. Использование одиночной области видимости
5.1.1. Что такое одиночный бин
5.1.2. Одиночные бины в реальных приложениях
5.1.3. Немедленное и «ленивое» создание экземпляров
5.2. Прототипная область видимости бинов
5.2.1. Как работают прототипные бины
5.2.2. Практическое применение прототипных бинов
Резюме
Глава 6. Аспекты и АОП в Spring
6.1. Аспекты в Spring
6.2. Реализация аспектов в Spring с помощью АОП
6.2.1. Реализация простого аспекта
6.2.2. Изменение параметров и возвращаемого значения перехваченного метода
6.2.3. Перехват методов с аннотациями
6.2.4. Другие полезные аннотации советов
6.3. Цепочки выполнения аспектов
Резюме
Часть II. Реализация
Глава 7. Введение в Spring Boot и Spring MVC
7.1. Что такое веб-приложение
7.1.1. Основные сведения о веб-приложениях
7.1.2. Способы реализации веб-приложений на основе Spring
7.1.3. Использование контейнера сервлетов в веб-разработке
7.2 Магия Spring Boot
7.2.1. Создание проекта Spring Boot с помощью сервиса инициализации проекта
7.2.2. Упрощенное управление зависимостями с помощью диспетчеров зависимостей
7.2.3. Автоматическая конфигурация по соглашению на основе зависимостей
7.3. Реализация приложения с помощью Spring MVC
Резюме
Глава 8. Реализация веб-приложений с использованием Spring Boot и Spring MVC
8.1. Создание веб-приложений с динамическими представлениями
8.1.1. Получение данных из HTTP-запроса
8.1.2. Передача данных от клиента серверу посредством параметров запроса
8.1.3. Передача данных от клиента серверу с помощью переменных пути
8.2. Использование HTTP-методов GET и POST
Резюме
Глава 9. Области веб-видимости бинов Spring
9.1. Использование бинов с областью видимости в рамках запроса в веб-приложениях Spring
9.2. Использование области видимости в рамках сессии в веб-приложениях Spring
9.3. Использование области видимости в рамках всего веб-приложения Spring
Резюме
Глава 10. Реализация REST-сервисов
10.1. Обмен данными между приложениями посредством REST-сервисов
10.2. Создание конечной точки REST
10.3. Управление HTTP-ответом
10.3.1. Передача объектов в теле HTTP-ответа
10.3.2. Создание HTTP-ответа со статусом и заголовками
10.3.3. Управление исключениями на уровне конечной точки
10.4. Извлечение данных из тела запроса, полученного от клиента
Резюме
Глава 11. Использование конечных точек REST
11.1. Вызов конечной точки REST с помощью OpenFeign из Spring Cloud
11.2. Вызов конечных точек REST с помощью RestTemplate
11.3. Вызов конечной точки REST с помощью WebClient
Резюме
Глава 12. Использование источников данных в Spring-приложениях
12.1. Что такое источник данных
12.2. Взаимодействие с сохраненными данными с помощью JdbcTemplate
12.3. Изменение конфигурации источника данных
12.3.1. Определение источника данных в файле свойств приложения
12.3.2. Использование нестандартного бина DataSource
Резюме
Глава 13. Транзакции в Spring-приложениях
13.1. Транзакции
13.2. Транзакции в Spring
13.3. Использование транзакций в Spring-приложениях
Резюме
Глава 14. Сохранение данных с помощью Spring Data
14.1. Что такое Spring Data
14.2. Как работает Spring Data
14.3. Использование Spring Data JDBC
Резюме
Глава 15. Тестирование Spring-приложений
15.1. Как писать правильные тесты
15.2. Реализация тестов в Spring-приложениях
15.2.1. Разработка модульных тестов
15.2.2. Разработка интеграционных тестов
Резюме
Приложение А. Архитектурные концепции
A.1. Монолитная архитектура
A.2. Сервис-ориентированная архитектура
A.2.1. Усложнение взаимодействия между сервисами
A.2.2. Усложнение обеспечения безопасности системы
A.2.3. Усложнение хранения данных
A.2.4. Усложнение развертывания системы
A.3. От микросервисов до бессерверных приложений
A.4. Что еще почитать
Приложение Б.Использование XML в конфигурации контекста
Приложение В. Краткое введение в HTTP
В.1. Что такое HTTP
В.2. HTTP-запросы как язык общения между клиентом и сервером
В.3. HTTP-ответ: способ получить ответ от сервера
В.4. HTTP-сессия
Приложение Г. Представление данных в формате JSON
Приложение Д. Установка MySQL и создание базы данных
Шаг 1. Установка СУБД на локальном компьютере
Шаг 2. Установка клиентского приложения для выбранной СУБД
Шаг 3. Установка соединения с локальной СУБД
Шаг 4. Создание базы данных
Приложение Е.Рекомендованные инструменты
Приложение Ж.Учебные материалы, рекомендуемые для дальнейшего изучения Spring