- Spring (Core) lessons part 1 - XML-based Configuration:
- Lesson 1 - Схема зависимостей объектов в коде (простой пример зависимости, инверсии контроля);
- Lesson 2 - Внедрение параметров в Bean-ы через конструктор при помощи application.xml;
- Lesson 3 - Внедрение одних Bean-ов в другие Bean-ы через конструктор при помощи application.xml;
- Lesson 4 - factory-method;
- Lesson 5 - Внедрение параметров через сеттеры (свойства - property);
- Lesson 6 - Beans Scope;
- Lesson 7 - Beans Initialisation and Destruction CallBacks;
- Lesson 8 - Внедрение зависимостей из файла свойств (Injection from Properties Files);
- Lesson 9 - BeanFactoryPostProcessor;
- Spring (Core) lessons part 2 - Annotation-based Configuration:
- Spring (Core) lessons part 3 - Annotation-based Configuration (continuation):
- Spring (Core) lessons part 4 - Java-based Configuration:
- Spring (Core) lessons part 5 - Event Listeners:
- Spring (Boot) lessons part 6 - Introduction to Spring-Boot:
- Lesson 24 - @Conditional;
- Lesson 25 - Как сделать (сконфигурировать) простое Spring Boot приложение;
- Lesson 26 - Spring Boot Application (Spring приложение, особенности);
- Lesson 27 - Lombok (аннотации);
- Lesson 28 - Properties - внешние файлы свойств;
- Lesson 29 - Yaml (*.yml) формат;
- Lesson 30 - @ConfigurationProperties;
- Spring (Boot) lessons part 7 - Логирование:
- Spring (Boot) lessons part 8 - Test Starter:
- Lesson 33 - Test-Starter;
- Lesson 34 - Integration-Testing;
- Lesson 35 - @ActiveProfiles;
- Lesson 36 - MetaAnnotation;
- Lesson 37 - Внедрение зависимостей в тесты через конструктор;
- Lesson 38 - Использование spring.properties в тестах;
- Lesson 39 - Кэширование ApplicationContext;
- Lesson 40 - Аннотация @DirtiesContext ('грязный контекст');
- Spring Boot lessons part 9 - Data JPA Starter и Data JPA Transactions:
- Lesson 41 - Подключение Spring-Data-JPA-Starter (теория, настройка и подключение БД);
- Lesson 42 - Создание Hibernate Entities;
- Lesson 43 - @Transactional;
- Lesson 44 - Авто-конфигурирование транзакций;
- Lesson 45 - Настройки @Transactional;
- Lesson 46 - Программное (ручное) управление транзакциями - TransactionTemplate;
- Spring Boot lessons part 10 - Data JPA Repositories:
- Lesson 47 - Repository;
- Lesson 48 - Создание запросов к базе данных исходя из имен методов;
- Lesson 49 - NamedQuery (теория);
- Lesson 50 - Аннотация @Query;
- Lesson 51 - Модификация данных через запросы и использование аннотации @Modifying;
- Lesson 52 - Специальные параметры в запросах, интерфейс Pageable и класс Sort;
- Lesson 53 - Интерфейс Pageable и возвращаемые значения Page и Slice;
- Lesson 54 - Аннотация @EntityGraph в запроса репозиториев;
- Lesson 55 - Аннотации @Lock и @QueryHints в запросах репозиториев;
- Lesson 56 - Hibernate (проекция, DTO) Projection;
- Lesson 57 - Spring Custom Repository Implementation - Самописные репозитории;
- Lesson 58 - Spring JPA Auditing - Аудит работы нашего приложения;
- Lesson 59 - Hibernate-Envers в Spring приложении;
- Spring Boot lessons part 11 - JDBC Starter:
- Spring Boot lessons part 12 - Тестирование приложения при работе с InMemory БД H2:
- Spring Boot lessons part 13 - Тестирование приложения при работе с БД через DOCKER:
- Lesson 63 - Docker container for Tests;
- Lesson 64 - Настройка дополнительных зависимостей и плагинов в Gradle при использовании Docker контейнера с БД;
- Lesson 65 - Тестирование PostgreSQL БД развернутой в Docker контейнере;
- Динамическое развертывание PostgreSQL БД в Docker контейнере средствами TestContainers;
- Spring Boot lessons part 15 - Web Starter - Part 1:
- Lesson 69 - Web-starter (теория);
- Lesson 70 - Dispatcher servlet (теория);
- Lesson 71 - Controller;
- Lesson 72 - RequestMapping (Картирование запросов - "сопоставление запросов");
- Lesson 73 - Использование RequestMapping как общий префикс к запросу;
- Lesson 74 - Извлечение parameters, headers и cookies из полученного запроса;
- Lesson 75 - Работа с Model и установка атрибутов (начало);
- Lesson 75 - Model и установка атрибутов через параметры в URL или теле сообщения (без обращения к ModelAndView);
- Lesson 76 - Варианты перенаправления запросов Forward, Include, Redirect;
- Spring Boot lessons part 16 - Web Starter - Part 2:
- Spring Boot lessons part 17 - Thymeleaf Starter:
- Lesson 82 - Подключение Thymeleaf-Starter;
- Lesson 83 - CRUD-View-Layer - CRUD операции на уровне отображения. UPDATE (EDIT) данных;
- Lesson 84 - CRUD-View-Layer - CRUD операции на уровне отображения. REMOVE (DELETE) данных;
- Lesson 85 - CRUD-View-Layer - CRUD операции на уровне отображения. CREATE данных;
- Lesson 86 - CRUD-View-Layer - CRUD операции на уровне отображения. REDIRECT при CREATE данных (Теоретический урок);
- Lesson 87 - CRUD-View-Layer - Фильтрация запроса (Filter-Query);
- Lesson 88 - Постраничное получение и вывод информации (Pagination);
- Spring Boot lessons part 18 - Validation Starter:
- Lesson 89 - Validation-Starter - Простой пример валидации получаемых данных;
- Lesson 90 - Validation-Starter - Чуть более дружелюбный отклик приложения при валидации данных;
- Lesson 91 - Custom-validator - Самописные валидаторы или самописные аннотации для валидации;
- Lesson 92 - Custom-validator - Использование групп проверки;
- Lesson 93 - ControllerAdvice и ExceptionHandler - Самописные обработчики исключений;
- Lesson 94 - ControllerAdvice и ExceptionHandler - Глобальный самописный обработчик исключений;
- Spring Boot lessons part 19 - REST:
- REST - Введение;
- Lesson 95 - Практика ч.1 - первый REST контроллер и его простой метод;
- Lesson 96 - Практика ч.2 - расширенный REST контроллер и его CRUD методы;
- Lesson 97 - Практика ч.3 - обработчик ошибок для REST контроллеров;
- Lesson 98 - Ручное тестирование REST методов, SWAGGER API DOCs;
- Lesson 99 - Upload-image - 'загрузка картинок' в таблицу users БД;
- Lesson 100 - Get-image - отображение картинок в 'профиле user-ов';
- Lesson 101 - Использование ResponseEntity в методах контроллеров;
- Spring Boot lessons part 20 - Security Starter - PART 1:
- Security-Starter. Введение, определения, понятия (теория);
- Security-Starter. Подключение зависимости (теория);
- Security-Starter. Authentication фильтр (теория);
- Security-Starter. Запуск приложения и изучение Authentication фильтров по умолчанию (теория);
- Lesson 102 - Dao Authentication Provider;
- Lesson 103 - Form-Login (фильтр Username and Password);
- Lesson 104 - HTTP-Basic-Authentication;
- Lesson 105 - PasswordEncoder;
- Lesson 106 - Logout;
- Spring Boot lessons part 21 - Security Starter - PART 2:
- Lesson 107 - Authorization фильтр;
- Lesson 108 - Pre и Post методы Security (теория);
- Lesson 109 - Доступ к аутентифицированному пользователю;
- Lesson 110 - Доступ к аутентифицированному пользователю на HTML страницах с применением Thymeleaf;
- Lesson 111 - CSRF-Filter (CSRF атаки);
- Lesson 112 - Security-Testing;
- Spring Boot lessons part 22 - Security Starter - PART 3:
- OAuth-2.0 (Теория);
- Lesson 113 - Настройка OAuth-2.0 в web-приложении (Google as Authorization service);
- Регистрация приложения на сервисе авторизации;
- Настройка OAuth2.0 протокола в нашем web-приложении;
- Lesson 114 - Преобразование Google Authentication-Principle в понятный нашему приложению UserDetails;
- Lesson 115 - Swagger-Authorization;
- Spring Boot lessons part 24 - AOP в Spring:
- AOP (Аспектно-ориентированное программирование):
- Основные понятия;
- Основные термины;
- Lesson 118 - AOP - Pointcut (АОП - точка среза);
- Lesson 119 - Before - Advice (@Before);
- Lesson 120 - JoinPoint - Params;
- Lesson 121 - After - Advices (@AfterThrowing, @AfterReturning и @After);
- Lesson 122 - Around - Advice (@Around);
- Lesson 123 - Best-Practices in AOP (Рекомендации по использованию механизма АОП);
- Дополнительный материал (ENG);
- AOP (Аспектно-ориентированное программирование):
Док. (ссылки) для изучения:
- Spring Boot Reference Documentation ;
- Spring Framework 6.1.5 Documentation ;
- Spring Framework 3.2.x Reference Documentation ;
- Getting Started Guides ;
- Developing with Spring Boot ;
- Документация по Spring Boot (архив) ;
См. официальные Guides:
- Getting Started Guides - Эти руководства, рассчитанные на 15–30 минут, содержат быстрые практические инструкции по созданию «Hello World» для любой задачи разработки с помощью Spring. В большинстве случаев единственными необходимыми требованиями являются JDK и текстовый редактор.
- Topical Guides - Тематические руководства предназначенные для прочтения и понимания за час или меньше, содержит более широкий или субъективный контент, чем руководство по началу работы.
- Tutorials - Эти учебники, рассчитанные на 2–3 часа, обеспечивают более глубокое контекстное изучение тем разработки корпоративных приложений, что позволяет вам подготовиться к внедрению реальных решений.