Улучшаемые навыки
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).
Расписание курсов
Курс проводят
Лапин Вячеслав
Специалист в области WEB, XML и Java-технологий
О тренере
За время своей профессиональной деятельности Вячеслав принимал участие в более чем пятнадцати успешных проектах в роли разработчика, аналитика проекта и архитектора.
Он обладает богатым опытом разработки программного обеспечения на всех стадиях жизненного цикла проекта. Бизнес-области проектов, в которых работал Вячеслав, весьма разнообразны: от банковских CRM-систем до интернет-порталов, от систем интеграции в области телекома до систем корпоративной автоматизации.
С 2008 г. преподаёт в Сетевой академии "Ланит" по программе ВКШ «Эксперт». В 2012–2014 гг. занимал должность эксперта в AT-Consulting; в 2009–2011 гг. – должности системного аналитика, руководителя группы системного анализа технологических проектов, администратора проекта в Лаборатории Касперского.
С 2011 г. является тренером IBS Training по направлениям, связанным с корпоративной разработкой (Java SE/EE/Spring), интеграцией (XML, Web-сервисы, REST) и Front-end разработкой ((x)HTML/CSS/{Java/Coffee}Script).
Курсы и сертификаты