В книге рассмотрено актуальное состояние технологий Spring и Spring Boot, помогающих шире раскрыть возможности языка Java и аспектно-ориентированного программирования. Пошагово объяснено, как самостоятельно написать и развернуть облачный проект под управлением Spring. Рассказано о координации микросервисов на Java с применением Spring и модуля Spring Core, способах внедрения зависимостей аннотировании кода. На примере сквозного веб-приложения описаны важнейшие приемы работы с данными в стиле REST, тестирование данных, обеспечение согласованности, безопасности и долговременного хранения данных в приложении.

Аспектно-ориентированное программирование.
В предыдущих разделах описывалось внедрение зависимостей и инверсия управления — как основных принципов, на которых построена платформа Spring Framework. Все эти технологии задействуются для уменьшения связности. В дополнение к ним Spring Framework предлагает аспектно-ориентированное программирование.
Аспектно-ориентированное программирование (Aspect-Oriented Programming, АОР, АОП) — технология для обеспечения сквозной функциональности, повседневно используемая программистами, работающими с Spring Framework. Хорошими примерами АОП могут, например, служить запись в журнал лога событий обращения к какому-либо ресурсу, управление транзакциями и какие-либо другие функции, которые напрямую не связаны с тем или иным конкретным объектом или бизнес-процессом, но должны осуществляться по всему приложению. Суть аспектноориентированного программирования заключается в том, что разработчик не добавляет логику, связанную со сквозным процессом, в методы бизнес-процессов, а разрабатывает ее отдельно вместе с описанием точек, в которых она должна выполняться.
ОГЛАВЛЕНИЕ.
Введение.
Глава 1. Теория.
1.2. Альтернативные фреймворки.
1.3. Внедрение зависимостей.
1.4. Инверсия управления.
1.5. Антипаттерны внедрения зависимостей.
1.6. Многоуровневая архитектора.
1.7. Аспектно-ориентированное программирование.
1.8. Резюме.
Глава 2. Микросервисы.
2.1. Для чего нужны микросервисы?.
2.2. Основные компоненты микросервисной архитектуры.
2.3. Spring Cloud.
2.4. Kubernetes.
2.5. Резюме.
Глава 3. Примеры приложения.
3.1. Пример приложения на Spring Framework.
3.1.1. Настройка пула соединений для Eclipse.
3.1.2. Настройка пула соединений для IntellU IDEA.
3.1.3. Запуск клиентской части проекта.
3.2. Пример приложения на Spring Boot.
3.3. Резюме.
Глава 4. Первые шаги.
4.1. Spring и контейнер бинов.
4.2. Простой сервис на Spring Framework.
4.2.1. Скачайте исходные коды.
4.2.2. Пояснения к исходному коду.
4.2.3. Запуск.
4.3. Простой сервис на Spring Boot.
4.3.1. Скачайте исходные коды.
4.3.2. Spring Initializr.
4.3.3. Пояснения к исходному коду.
4.3.4. Запуск.
4.4. Различия между Spring Boot и Spring Framework.
4.5. Резюме.
Глава 5. Модуль Spring Core.
5.1. XML-конфигурация (для Spring Framework).
5.1.1. Листенер ContextLoadListener.
5.1.2. Разделение по файлам и контекстам.
5.1.3. Пространства имен.
5.1.4. Объявление бинов.
5.1.5. Загрузка «пропертей» и профили.
5.1.6. Сканирование бинов.
5.1.7. Импортирование файлов конфигураций.
5.1.8. Коллекции.
5.2. Java-конфигурация (для Spring Boot).
5.2.1. Аннотация @SpringBootApp!ication.
5.2.2. Аннотации Configuration и @Веап.
5.2.3. Профили.
5.3. Бины Spring.
5.3.1. Объявление.
5.3.2. Жизненный цикл.
5.4. Резюме.
Глава 6. Аспектно-ориентированное программирование.
6.1. Прокси JDK и CGLIB.
6.2. Аспекты Spring.
6.2.1. Аннотация @Transactional.
6.2.2. Подключение зависимостей.
6.2.4. Java-конфигурация АОП.
6.3. Библиотека AspectJ.
6.4. Резюме.
Глава 7. Работа с базами данных.
7.1. Слой постоянства.
7.2. Библиотека Liquibase.
7.2.1. Подключение зависимостей.
7.2.2. Настройка для Spring Framework.
7.2.3. Настройка для Spring Boot.
7.3. Spring JDBC.
7.3.1. Подключение зависимостей.
7.3.2. Абстракция JdbcTemplate.
7.3.3. JdbcClient.
7.3.4. Обработка исключений.
Глава 8 Хранение настроек приложения.
8.1. Файлы «пропертей».
8.2. Задание профиля и «пропертей» в Apache 8.3. Tomcat.
8.3. Файлы «пропертей» в Spring Boot.
8.4. Файлы «пропертей» в Spring Boot.
8.5. Аннотация @ConfigurationProperties.
8.6. Проект Spring Cloud Config.
8.7. Резюме.
Глава 9. Легирование.
9.1. Хаос с библиотеками легирования.
9.2. Logback.
9.3. Стек ELK.
9.4. Резюме.
Глава 10. Локализация.
10.1. Интернациональные приложения.
10.2. Интерфейс MessageSource.
10.3. Резюме.
Глава 11. Разработка веб-приложения.
11.1. Фреймворк Spring MVC.
11.1.1. Настройка для Spring Framework.
11.1.2. Настройка для Spring Boot.
11.1.3. Контроллеры.
11.1.4. Обработка HTTP GET.
11.1.5. Обработка HTTP POST.
11.1.6. Архитектурный стиль REST.
11.1.7. Обработка HTTP DELETE.
11.1.8. Сокращенные аннотации.
11.1.9. Обработка исключений.
11.2. Спецификация Jakarta Validation.
11.2.1. Подключение зависимостей.
11.2.2. Аннотация @Valid.
11.2.3. Аннотация @NotNull.
11.2.4. Аннотация @Size.
11.2.5. Аннотации @Min и @Мах.
11.3. Технология Jakarta Pages.
11.3.1. Введение.
11.3.2. Примеры в Apache Tomcat.
11.3.3. Настройка для Spring Framework.
11.3.4. Синтаксис JSP.
11.3.5. Синтаксис JSPX.
11.3.6. Пользовательские теги.
11.3.7. Главная страница сайта.
11.3.8. Локализованные сообщения.
113.9. Выражения Jakarta Expression Language.
113.10. Ter jsp:directive, page.
113.11. Ter jsp:output.
113.12. Основное содержимое файла home.jspx.
11.3.13. Teг spring:htmlEscape.
11.3.14. Teг spring.url.
113.15. Контроллер HomeController.
11.3.16. Teг mvc:view-controller.
11.3.17. Атрибуты модели.
11.3.18. Teг c.forEach.
11.3.19. Teг c:out.
11.3.20. Teг spring:escapeBody.
11.3.21. Формы.
11.3.22. Интеграция c Jakarta Validation.
11.3.23. Teг c:if.
11.3.24. Teг fmt:formatDate.
11.3.25. Темы оформления.
11.3.26. Интернационализация.
11.4. Шаблонизатор Thymeleaf.
11.4.1. Thymleaf как современная замена Jakarta Pages.
11.4.2. Настройка для Spring Boot.
11.4.3. Контроллер.
11.4.4. Префикс th.
11.4.5. Контекстно-относительные ссылки.
11.4.6. Фрагменты.
11.4.7. Элемент th:block.
11.4.8. Локализованные сообщения.
11.4.9. Фрагмент header.
11.4.10. Фрагмент menu.
11.4.11. Фрагмент footer.
11.4.12. Атрибут th:each.
11.4.13. Формы.
11.4.14. Интеграция с Jakarta Validation.
11.4.15. Атрибут th:if.
11.5. Модуль Spring WebFlux.
11.6. Резюме.
Глава 12. Фреймворк Spring Security.
12.1. Архитектура Spring Security.
12.2. Подключение к проекту.
12.3. Конфигурация.
12.4. Интерфейсы UserDetails и UserDetailsService.
12.5. Интерфейсы AuthentiationManager и Authentication Provider.
12.6. SecurityContextRepository.
12.7. Раздел сайта SecurityFilterChain.
12.7.1. Зоны доступа.
12.7.2. Тег security:http и метод securityMatcher.
12.7.3. Тег security: intercept-url и метод authorizeHttpRequests.
12.7.4. Защита от CSRF.
12.7.5. Форма входа.
12.7.6. Кнопка выхода.
12.7.7. Листинги.
12.8. SecurityFilterChain зоны API клиента.
12.8.1. Тег security:http и метод securityMatcher.
12.8.2. Интерфейс AuthenticationEntryPoint.
12.8.3. Тег security:intercept-url и метод authorizeHttpRequests.
12.8.4. Механизм CORS.
12.8.5. Защита от CSRF.
12.8.6. Листинги.
12.8.7. Аутентификация из контроллера.
12.9. Авторизация на основе методов.
12.10. Библиотека Spring Security JSP Taglib.
12.11. Интеграция c Thymeleaf.
12.12. Резюме.
Глава 13. Документирование REST-сервисов.
13.1. Введение.
13.2. Подключение зависимостей.
13.3. Просмотр сгенерированной документации.
13.4. Документирование API.
13.5. Резюме.
Глава 14. Тесты.
14.1. Виды тестов.
14.2. Фреймворк JUnit.
14.2.1. Подключение зависимостей.
14.2.2. Простейший тест.
14.2.3. Запуск тестов.
14.2.4. Параметризованные тесты.
14.3. Фреймворк TestNG.
14.3.1. Подключение зависимостей.
14.3.2. Простейший тест.
14.3.3. Запуск тестов.
14.3.4. Параметризованные тесты.
14.4. Фреймворк Mockito.
14.4.1. Введение.
14.4.2. Зависимости Mockito + JUnit.
14.4.3. Примеры в тестовом приложении.
14.4.4. Интеграция с тестом JUnit.
14.4.5. Mock-объекты.
14.4.6. Настройка возвращаемых значений.
14.4.7. Дополнительные примеры.
14.4.8. Подсчет вызова методов.
14.4.9. Перехват параметров.
14.4.10. Зависимости Mockito + TestNG.
14.4.11. Интеграция с тестом TestNG.
14.5. Фреймворк Spring.
14.5.1. Введение.
14.5.2. Подключение зависимостей.
14.5.3. Интеграция JUnit и Spring.
14.5.4. Библиотека Testcontainers.
14.5.5. Класс SingleConnectionDataSource.
14.5.6. Класс ClockConfig.
14.5.7. Класс BaseDaolmplTest.
14.5.8. Аннотация DataJpaTest.
14.5.9. Класс BookcaseDaoImplTest.
14.5.10. Аннотация @Sql.
14.5.11. Библиотека assertj.
14.5.12. Фреймворк MockMvc.
14.5.13. Аннотация @SpringBootTest.
14.5.14. Настройка MockMvc для Spring Framework.
14.5.15. Простой тест MockMvc.
14.5.16. Аннотация @МоскВеап.
14.5.17. Интеграция MockMvc и Spring Security.
14.6. Резюме.
Глава 15. Клиентское приложение.
15.1. Проект Spring Mobile.
15.2. Приложение Progressive Web Application.
15.3. Работающая игра.
Заключение.
Предметный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Spring и Spring Boot, Разработка облачных приложении на Java, Урванов Ф.В., 2025 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Урванов :: облачное приложение :: Java :: микросервис
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
Предыдущие статьи:









