Профессиональное программирование - Урванов Федор - Spring и Spring Boot. Разработка облачных приложений на Java [2025, PDF, RUS]
Главная »
Литература
» Книги FB2 » Учебно-техническая литература
|
| Статистика раздачи | |
| Размер: 52.05 MB | Зарегистрирован: 6 месяца 4 дня | Скачано: 208 раза | |
| Работает мультитрекерная раздача | |
|
Полного источника не было: Никогда |
|
|
| Автор | Сообщение | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MAGNAT ®
|
Spring и Spring Boot. Разработка облачных приложений на Java
Год издания: 2025 Автор: Урванов Федор Издательство: БХВ-Петербург ISBN: 978-5-9775-2049-2 Серия: Профессиональное программирование Язык: Русский Формат: PDF Качество: Отсканированные страницы + слой распознанного текста Количество страниц: 381 Описание: В книге рассмотрено актуальное состояние технологий Spring и Spring Boot, помогающих шире раскрыть возможности языка Java и аспектно-ориентированного программирования. Пошагово объяснено, как самостоятельно написать и развернуть облачный проект под управлением Spring. Рассказано о координации микросервисов на Java с применением Spring и модуля Spring Core способах внедрения зависимостей, аннотировании кода. На примере сквозного веб-приложения описаны важнейшие приемы работы с данными в стиле REST, тестирование данных, обеспечение согласованности, безопасности и долговременного хранения данных в приложении. ОглавлениеВведение··················.............................................................................................................······ 11Глава 1. Теория ····························································································.....................·········· 13 1 .1. Краткая история Spring .......................................................................................................... 13 1.2. Альтернативные фреймворки ................................................................................................ 14 1.3. Внедрение зависимостей ........................................................................................................ 14 1.4. Инверсия управления ............................................................................................................. 19 1.5. Антипаттерны внедрения зависимостей ............................................................................... 22 1 .6. Многоуровневая архитектура ................................................................................................ 25 1. 7. Аспектно-ориентированное программирование .................................................................. 29 1.8. Резюме ..................................................................................................................................... 31 Глава 2. Микросервисы ·············......·····································............··································........ 33 2.1. Для чего нужны микросервисы? ........................................................................................... 33 2.2. Основные компоненты микросервисной архитектуры ........................................................ 34 2.3. Spring Cloud ............................................................................................................................. 36 2.4. KuЬemetes ................................................................................................................................. 37 2.5. Резюме ...................................................................................................................................... 40 Глава 3. Примеры приложения.................................................................................. 41 3. 1. Пример приложения на Spring Framework ............................................................................. 41 3 .1.1. Настройка пула соединений Д1U1 Eclipse ...................................... , ............................ 44 3.1.2. Настройка пула соединений Д1U1 IntelliJ IDEA ......................................................... 49 3 .1.3. Запуск клие~пской части проекта ............................................................................. 54 3.2. Пример приложения на Spring Boot ...................................................................................... 56 3.3. Резюме ..................................................................................................................................... 56 Глава 4. Первые шаги ........................................................................................................ 59 4.1. Spring и контейнер бииов ....................................................................................................... 59 4.2. Простой сервис на Spring Framework .................................................................................... 61 4.2.1. Скачайте исходные коды ........................................................................................... 61 4.2.2. Пояснения к исходному коду .................................................................................... 61 4.2.3. Запуск ................................................... ....................................................................... 64 4.3. Простой сервис на Spring Boot .............................................................................................. 64 4.3. 1. Скачайте исходные коды ........................................................................................... 64 4.3.2. Spring Initializr ............................................................................................................ 64 4.3 .3. Пояснения к исходному коду .................................................................................... 66 4.3.4. Запуск .......................................................................................................................... 68 4.4. Р83Личия между Spring Boot и Spring Framework ................................................................ 68 4.5. Резюме ..................................................................................................................................... 69 Глава 5. Модуль Sprin.g Core ................................................................................................. 71 5 .1. ХМL-конфиrурация (д11Я Spring Framework:) ........................................................................ 71 5.1.1. Листенер ContextLoadListener ................................................................................... 71 5.1 .2. Разделение по файлам и контекстам ........................................................................ 72 5.1.3. Пространства имен ..................................................................................................... 73 5.1.4. Объявление бинов ....................................................................................................... 74 5.1.5. Заrрузка «пропертей» и профили ............................................................................... 75 5.1.6. Сканирование бииов ................................................................................................... 77 5. \ . 7. Импортирование файлов конфиrураЦИЙ .................................................................. 79 5.1.8. Коллекции ................................................................................................................... 80 5.2. Jаvа-конфиrурация (дJIЯ Spring Boot) .................................................................................... 83 5.2. 1. Аннотация @SpringBootApplication· .......................................................................... 83 5.2.2. Аннотации @Configuration и@Веап ........................................................................ 84 5.2.3. Профили ......................................... : ............................................................................ 85 5.3. Би:ны Spring ............................................................................................................................. 89 5.3.1. Объявление ............ .-.................................................................................................... 89 5.3.2. Жюненный цикл ........................................................................................................ 90 5.4. Резюме ..................................................................................................................................... 93 Глава 6. Аспектво-орвевтвроваввое проrраммвровавве .................................... 95 6.1. Прокси JDK и CGLIB ............................................................................................................. 95 6.2. Аспекты Spring ........................................ : ............................................................................... 96 6.2.1. Аннотация @Transactional ........................................................................................ 96 6.2.2. ПодJ(JJЮчение зависимостей ...................................................................................... 96 6.2.3. ХМL-конфиrурация АОП .......................................................................................... 97 6.2.4. Jаvа-конфиrурация АОП .................. ........................................................................ 103 6.3. Библиотека AspectJ ............................................................................................................... 106 6.4. Резюме ........................................................................................................................... ........ 107 Глава 7. Рабо,-а с базами данных ............................................................................... 109 7.1. Слой постоя.нства .................................................................................................................. 109 7.2. Библиотека Liquibase ............................................................................................................ 112 7 .2.1. Подключение зависимостей .................................................................................... 112 7.2.2. Настройка д11Я Spring Framework ............................................................................ 112 7.2.3. Настройка д11Я Spring Boot ....................................................................................... l 14 7.3. Spring JDBC ........................................................................................................................... 115 7.3. 1. Подключение зависимостей ..................................................................................... 115 7.3.2. Абстракция JdbcTemplate ......................................................................................... 116 7.3.3. JdbcClient ........................................................................................................ : ........... 119 7.3.4. Обработка искmочеиий ............................................................................................ 120 8.4. Файлы «пропертей» в Spring Boot ....................................................................................... 194 8.5. АниотаШIJI @ConfigurationProperties .................................................................................. 195 8.6. Проект Spring Cloud Config .................................................................................................. 197 8.7. Резюме ................................................................................................................................... 200 Глав.а 9. Логвровавве ....................................................................................................... 201 9.1 . Хаос с библиотеками логироваНИJl ...................................................................................... 201 9.2. Logback .................................................................................................................................. 202 9.3. Стек ELK ............................................................................................................................... 206 9.4. Резюме .............................................................................................................. : .................... 210 Глава 10. Локалвзац·и.11 ................................................................................................. 211 10.1. Интернациональные приложения ...................................................................................... 211 10.2. Интерфейс MessageSource .................................................................................................. 212 10.3. Резюме .................................................................................................................................. 216 Глава 11. Разработка веб-првложевв.и ..................................................................... 217 11.1. Фреймворк Spring МVС ...................................................................................................... 217 11 .1.1. Настройка дл,1 Spring Framework ........................................................................... 217 11.1 .2. Настройка дru1 Spring Boot ..................................................................................... 219 11.1.3. Контроллеры ........................................................................................................... 219 11 .1.4. Обработка НТТР GET ............................................................................................. 220 11.1 .5. Обработка НТТР POST .................. ........................................................................ 222 11.1.6. Архитектурный стиль REST .......... ........................................................................ 223 11. 1 .7. Обработка НТТР DELETE .................................................................................... 224 11.1.8. Сокращенные аннотации ............... ........................................................................ 225 11.1.9. Обработка искmоченнй .................. ........................................................................ 225 11.2. СпецифИ](аwiЯ Jakarta Validation ....................................................................................... 228 11.2.1. Подкmочение зависимостей .................................................................................. 228 11.2.2. AннoтaШIJl @Valid .................................................................................................. 229 11 .2.3. Аннотация@NоtNи// .............................................................................................. 230 11.2.4. АннотаШ1Я @Size .................................................................................................... 231 11.2.5. Аннотации @Мiп и @Мах ..................................................................................... 231 11.3. Техволоrия Jakarta Pages .................................................................................................... 232 11.3.1. Введение ................................................................................................................. 232 11.3.2. Примеры в Apache Tomcat ..................................................................................... 232 11.3.3. Настройка Д1V1 Spring Framework .......................................................................... 232 11.3.4. Синтаксис JSP ................................. ........................................................................ 235 11.3.5. Синтаксис JSPX ...................................................................................................... 235 11 .3 .6. Пользовательские теги ........................................................................................... 236 11.3.7. Главная страница сайта .......................................................................................... 238 11.3.8. Локализованные сообщения .................................................................................. 240 11.3.9. ВыражеНИJI Jakarta Expression Language ............................................................... 240 11.3.10. Тег Jsp:directive.page ............................................................................................ 241 11.3.1 1. Тег jsp:output ........................................................................................................ 241 11.3.12. Основное содержимое файла home.jspx ............................................................. 242 11.3.13. Ter spring:htm/Escape ........................................................................................... 243 11.3.14. Terspring:url ......................................................................................................... 243 11 .3.15. Контроллер HomeController ................................................................................ 243 11.3.1 6. Тег mvc:view-contro//er ........................................................................................ 244 11.3.17. Атрибуты модели ................................................................................................. 244 11.3.18. Тег c.forEach ......................................................................................................... 241 11 .3. 19. Тег c:out ................................................................................................................ 248 11.3.20. Тег spring:escapeBody .......................................................................................... 248 11.3.2 1. Формы ................................................................................................................... 248 11.3.22. Интеrрация с Jakarta Validation ........................................................................... 250 11.3.23. Тег c:if ................................................................................................................... 252 11.3.24. Тег fmt:formatDate ................................................................................................ 253 11.3.25. Темы оформлеЮIЯ ................................................................................................ 254 11 .3.26. Интернационализация .......................................................................................... 256 11 .4. Шаблонизатор Thymeleaf ................................................................................................... 256 11.4.1. Thymleafкaк современна.я замена Jakarta Pages .................................................. 256 11 .4.2. Настройка для Spring Boot ..................................................................................... 257 11.4.3. КоНtроллер ............................................................................................................. 257 11.4.4. Префихс th .............................................................................................................. 258 11.4.5. Контекстно-относнтелъные ссылк:и ...................................................................... 259 11.4.6. Фрагменты .............................................................................................................. 259 11.4.7. Элемент th:Ь/ock ..................................................................................................... 260 11.4.8. Локализованные сообщения .................................................................................. 261 11.4.9. Фрагмент header ..................................................................................................... 261 11 .4.10. Фрагмент тепи ..................................................................................................... 262 11.4.11. Фраrмент/ооtеr .................................................................................................... 263 11 .4.12. Атрибут th:each .................................................................................................... 263 11.4.13. Формы ................................................................................................................... 266 11.4.14. Интеrрация с Jakarta Validation ........................................................................... 268 11.4.15. Атрибут th:if ......................................................................................................... 268 11.5. Модуль Spring WebFlux ..................................................................................................... 269 11.6. Резюме ................................................................................................................................. 272 Глава 12. Фреймворк Spring Security ...................................................................... 273 12.1. Архитек-rура Spring Security ............................................................................................... 273 12.2. ПоДКJIЮченне к пpoeicry ..................................................................................................... 275 12.3. Конфигурация ..................................................................................................................... 276 12.4. Интерфейсы UserDetails н UserDetai/sService .................................................................. 219 12.5. Интерфейсы AuthentiationManager н Authentication Provider ......................................... 284 12.6. SecurityContextRepository ................................................................................................... 287 12.7. Раздел сайта SecurityFilterChain ........................................................................................ 289 12.7.1. Зоны доступа .......................................................................................................... 289 12.7.2. Тег security:http и метод securityMatcher .............................................................. 289 12.7.3. Тег security:intercept-url и метод authorizeHttpRequests ..................................... 290 12.7.4. Защита oтCSRF ...................................................................................................... 292 12.7.5. Форма входа ........................................................................................................... 294 12.7.6. Кнопка выхода ........................................................................................................ 296 12.7.7. Листинги ................................................................................................................. 297 12.8. SecurityFilterChain зоны API клиента ............................................................................... 298 12.8.1. Тег security: http и метод securityMatcher .................. ............................................ 298 12.8.2. Интерфейс AuthenticationEntryPoint ..................................................................... 299 12.8.3. Тег security:intercept-url и метод authorizeHttpRequests ..................................... 301 12.8.4. Механизм CORS ..................................................................................................... 302 12.8.5. Защwrа от CSRF ...................................................................................................... 304 12.8.6. Листинги ................................................................................................................. 305 12.8.7. Ауrентяфикаrm:я из конrроплера .......................................................................... 306 12.9. Авторизация на основе методов ........................................................................................ 308 12.1 О. Библиотека Spring Security JSP Taglib ............................................................................ 31 О 12.11. Ингеrрация с Тhymeleaf ................................................................................................... 31 I 12.12. Резюме ............................................................................................................................... 313 Глава 13. Докумевтвровавве RЕSТ-сервисов ....................................................... 315 13.1. Введение .............................................................................................................................. 315 13 .2. Подключение зависимостей. .............................................................................................. 315 13.3. Просмотр сгенерированной докуменrаwm ...................................................................... 316 13.4. Документирование API ...................................................................................................... 317 13.5. Резюме ................................................................................................................................. 321 Глава 14. Т ест-ы ................................................................................................................. 323 14.1. Виды тестов ......................................................................................................................... 323 14.2. Фреймворк JUnit ................................................................................................................. 323 14.2.1 . Подключение зависимостей .................................................................................. 323 14.2.2. Простейший тест ............... : ..................................................................................... 324 14.2.3. Запуск тестов ........................................................................................................... 327 14.2.4. Параметризованные тесты ...................................................................................... 329 14.3. Фреймворк TestNG .............................................................................................................. 331 14.3 .1. Подключение зависимостей .................................................................................. 331 14.3.2. Простейmийтест .................................................................................................... 331 14.3.3. Запуск тестов .......................................................................................................... 333 14.3.4. Параметризованные тесты ............. ........................................................................ 334 14.4. ФреRмворк Mockito ............................................................................................................ 335 14.4.1. ВведеJШе ................................................................................................................. 335 14.4.2. Зависимости Mockito + JUnit ................................................................................. 336 14.4.3. Примеры в тестовом приложении ........................................................................ 337 14.4.4. Интеграция с тестом JUnit ..................................................................................... 337 14.4.5. Мосk-объекты ................................. ........................................................................ 337 14.4.6. Hacтpoltxa возвращаемых значеи.ий ..................................................................... 338 14.4.7. Доnолннrельные примеры ..................................................................................... 340 14.4.8. Подсчет вызова методов ........................................................................................ 342 14.4.9. Перехват параметров .............................................................................................. 343 14.4.10. Зависимости Mockito + TestNG ........................................................................... 345 14.4.1 l. Интеграция с тестом TestNG ............................................................................... 346 14.5. Фреймворк Spring ............................................................................................................... 348 14.5.1. Введение ................................................................................................................. 348 14.5.2. Подключение зависимостей .................................................................................. 349 14.5.3. Интеграция JUnit и Spring ..................................................................................... 349 14.5.4. Библиотека Testcontainers ...................................................................................... 350 14.5.5. Класс Sing/eConnectionDataSource ....................................................................... 352 14.5.6. Класс C/ockConfig ........................................................ : .......................................... 354 14.5.7. Класс BaseDaolmp/Test .......................................................................................... 355 14.5.8. Аннотация @Data.JpaTest ...................................................................................... 356 14.5.9. Класс BookcaseDaolmp/Test ................................................................................... 351 14.5.10. АННОТЗЦИJI @Sq/ ·················· .. ················· .............................................................. 358 14.5.11. Библиотека assertj ................................................................................................. 359 14.5.12. Фреймворк MockМvc ........................................................................................... 360 14.5.13. АннотаЦЮ1 @SpringBootTest ................................................................................. 360 14.5.14. Настройка MockМvc для Spring Framework ........................................................ 362 14.5.15. Простой тест MockМvc ........................................................................................ 363 14.5.16. Аннотация @МосkВеап ........................................................................................ 364 14.5.17. ИнтеграЦЮI MockМvc и Spring Security .............................................................. 365 14.6. Резюме ................................................................................................................. 368 Глава 15. Клиентское орвложевве ................................................................................... 369 15.1. Проект Spring Moblle .............................................................................................. 369 15.2. Приложенне Progressive Web Application .................................................................. 369 15.3. Работающая игра ................................................................................................... 371 Закл:ючевве .................................................................................................................. 377 Предметный указатель ········.................··········································································· 379
|
|||||||||||||||||||||
Главная »
Литература
» Книги FB2 » Учебно-техническая литература
|
Текущее время: 05-Дек 15:05
Часовой пояс: UTC + 5
Вы не можете начинать темы
Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы |






