Улучшаемые навыки
Java
Spring Framework
Spring Boot
Spring Data
Spring REST
Dependency Injection (DI)
Aspect-Oriented Programming (AOP)
Inversion of Control (IoC)
XML Configuration
Annotation-Based Configuration
Bean Management
Event Handling
Localization
Profile Management
Spring Expression Language (SpEL)
Auto-Configuration
Application Properties
YAML Configuration
Type-Safe Configuration Properties
CRUD Operations
Инструменты
VS Code
IntelliJ IDEA
Java
Eclipse
Apache Maven
Чему вы научитесь
01
Осваивать основы и продвинутые концепции Spring Framework 5
02
Использовать Dependency Injection (DI) для управления зависимостями
03
Конфигурировать приложения с помощью XML, аннотаций и Java-кода
04
Управлять жизненным циклом бинов
05
Обрабатывать события с помощью @EventListener
06
Использовать Spring Expression Language (SpEL)
07
Создавать и настраивать приложения с помощью Spring Boot
08
Применять автоконфигурацию и аннотации Spring Boot
09
Использовать Type-Safe Configuration Properties
10
Создавать и настраивать репозитории с помощью Spring Data
11
Управлять транзакциями и использовать @Transactional
12
Создавать и настраивать запросы с помощью методов и @Query
13
Создавать RESTful сервисы с помощью Spring REST
Программа курса
1. Обзор фреймворка Spring
История
Концепция IoC
Интерфейс ApplicationContext
Бины в Spring
2. Spring configuration
Конфигурация в XML
Конфигурация через аннотации
Конфигурация в коде (Java based)
Scope бинов
Жизненный цикл бина
3. События (Events)
Создание Event-а
Подписка на Event при помощи @EventListener
Фильтр Event-ов
Примеры использования
4. Локализация
5. Конфигурация профилей
6. Spring Expression Language
1. Что такое Spring Boot
2. Основной стартер в POM (spring-boot-starter-parent)
3. Автоконфигурация
@SpringBootApplication
@ComponentScan
@Configuration
@EnableAutoConfiguration
4. Конфигурация
Command Line Properties
Application Property Files
Profile-specific Properties
Плейсхолдеры в Properties
YAML вместо Properties
Type-safe Configuration Properties
Использование @ConfigurationProperties
Third-party Configuration
Валидация @ConfigurationProperties
@ConfigurationProperties и @Value
Profiles
1. Примеры использования AOP
2. Типы Аdvicе-ов
3. Язык Pointcut-ов
4. Объединение Aspects-ов
1. CrudRepository
2. JpaRepository
3. @EnableJpaRepositories
4. @EnableTransactionManagement
5. @Transactional
Timeout
Флаг Readonly
6. Объявление Query-методов
Стратегии создания SQL запроса
Cоздание SQL запроса
Property Expressions
Обработка специальных параметров
Ограничение результатов SQL запроса
Возвращиене Collections или Iterables
Обработка Null в метдах репозитория
Streaming результатов SQL запроса
Асинхронная обработок SQL запроса
7. Использование @Query
Native SQL запроса
Сортировка
Использование именованных параметров
Использование SpEL
SQL запросы на изменение данных
8. Проекции
9. Хранимые процедуры
10. SQL запрос по примеру
11. @Transactional 11. Блокировки
1. REST-сервисы
2. Request и Response
3. Request-параметры
4. Path-параметры
5. HTTP-хидеры
6. Spring HATEOAS
7. Документация REST-сервисов при помощи Swagger
06
Всего: теория – 21 ч. (70%), практика – 9 ч. (30%), домашнее задание – 7 ч. (+23%)
Для кого
Разработчик
Предварительная подготовка
Опыт работы с Java SE и Maven.
Желательны знания JDBC и шаблонов проектирования (Proxy, Command, Decorator, Template Method, MVC).