Улучшаемые навыки
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
Программа курса
Обзор фреймворка Spring (история, концепция IoC, интерфейс ApplicationContext, бины в Spring)
Spring configuration: (конфигурация в XML, конфигурация через аннотации, конфигурация в коде ( Java based ) Scope бинов, жизненный цикл бина события ( Events, создание Event-а, подписка на Event при помощи @EventListener, фильтр Event-ов, примеры использования), локализация конфигурация профилей, Spring Expression Language
Что такое Spring Boot, основной стартер в POM ( spring-boot-starter-parent ), автоконфигурация (@SpringBootApplication, @ComponentScan, @Configuration, @EnableAutoConfiguration), конфигурация (Command Line Properties, Application Property Files, Profile-specific Properties, Плейсхолдеры в Properties, YAML вместо Properties, Type-safe Configuration Properties) использование @ConfigurationProperties, Third-party Configuration, Валидация @ConfigurationProperties, @ConfigurationProperties и @Value, Profiles
Примеры использования AOP, типы Аdvicе-ов, язык Pointcut-ов, объединение Aspects-ов
CrudRepository, JpaRepository, @EnableJpaRepositories, @EnableTransactionManagement, @Transactional (Timeout, флаг Readonly), Объявление Query-методов (стратегии создания SQL запроса, создание SQL запроса, Property Expressions, обработка специальных параметров, ограничение результатов SQL запроса, Возвращиене Collections или Iterables, обработка Null в метдах репозитория, Streaming результатов SQL запроса, асинхронная обработка SQL запроса), использование @Query
(Native SQL запроса, сортировка, использование именованных параметров, использование SpEL, SQL запросы на изменение данных), проекции, хранимые процедуры, SQL запрос по примеру, @Transactional, Блокировки
REST сервисы, Request и Response, Request параметры, Path параметры, HTTP хидеры, Spring HATEOAS, документация REST сервисов при помощи Swagger
Представление репозитория Spring Data как REST сервис, сортировка и постраничные запросы, HAL браузер, настройки Spring Data REST
07
Итого на курс 30 часов: теория – 21ч (70 %), практика –9ч (30%)
Для кого
Разработчик
Предварительная подготовка
Опыт работы с 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).
Курсы и сертификаты