О чём курс
Spring – это легковесный каркас с открытыми исходными текстами. Это популярный opensource-проект, охватывающий аспекты как JavaEE-, так и JavaSE-разработок. Spring Framework наиболее известен как источник расширений (features), необходимых для эффективной разработки сложных бизнес-приложений вне тяжеловесных программных моделей.
Spring Framework может быть рассмотрен как коллекция меньших фреймворков или фреймворков во фреймворке, большинство из которых может работать независимо друг от друга. Однако они обеспечивают большую функциональность при совместном использовании. Абстрактные классы, фабрики и бины разработаны таким образом, чтобы программисту оставалось написать только бизнес-логику.
В рамках курса вы получите представление о Spring Framework, узнаете об основных модулях этого фреймворка и вариантах их использования. Также вы рассмотрите использование Spring Framework совместно с другими технологиями.
Цели
Познакомиться с возможностями Spring Framework, практическим применением его для решения типичных задач, возникающих в ходе разработки.
Получить обзорную информацию, не входящую в Spring Framework, по спектру продуктов, выпускаемых под брендом Spring.
Целевая аудитория
Java-разработчики с опытом работы от 2 лет.
Предварительная подготовка
Опыт работы с Java SE и Maven.
Желательны знания JDBC и шаблонов проектирования (Proxy, Command, Decorator, Template Method, MVC).
Для кого
Разработчик
Улучшаемые навыки
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
Расписание курсов
Программа курса
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%)
Чему вы научитесь
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
Курс проводят
Лапин Вячеслав
Специалист в области 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).
Курсы и сертификаты