О чём курс
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).
Для кого
Разработчик
Улучшаемые навыки
Основы Spring Framework
Создание приложений с использованием Spring Boot
Работа с Spring MVC
Управление данными с использованием Spring Data
Тестирование приложений на Spring
Темы курса
01
SPRING IOC (теория 7 ч, практика 2 ч, домашняя работа около 2 ч)
- Обзор фреймворка Spring
- История
- Концепция IoC
- Интерфейс ApplicationContext
- Бины в Spring
- Spring configuration
- Конфигурация в XML
- Конфигурация через аннотации
- Конфигурация в коде (Java based)
- Scope бинов
- Жизненный цикл бина
- События (Events)
- Создание Event-а
- Подписка на Event при помощи @EventListener
- Фильтр Event-ов
- Примеры использования
- Локализация
- Конфигурация профилей
- Spring Expression Language
02
SPRING BOOT (теория 1 ч, практика 1 ч)
- Что такое 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
03
SPRING AOP (теория 2 ч, практика 1 ч, домашняя работа около 2 ч)
- Примеры использования AOP
- Типы Аdvicе-ов
- Язык Pointcut-ов
- Объединение Aspects-ов
04
SPRING DATA (теория 8 ч, практика 3 ч, домашняя работа около 2 ч)
- CrudRepository
- JpaRepository
- @EnableJpaRepositories
- @EnableTransactionManagement
- @Transactional
- Объявление Query-методов
- Стратегии создания SQL запроса
- Cоздание SQL запроса
- Property Expressions
- Обработка специальных параметров
- Ограничение результатов SQL запроса
- Возвращиене Collections или Iterables
- Обработка Null в метдах репозитория
- Streaming результатов SQL запроса
- Асинхронная обработок SQL запроса
- Использование @Query
- Native SQL запроса
- Сортировка
- Использование именованных параметров
- Использование SpEL
- SQL запросы на изменение данных
- Проекции
- Хранимые процедуры
- SQL запрос по примеру
- @Transactional
- Блокировки
05
SPRING REST (теория 2 ч, практика 2 ч, домашняя работа около 1 ч)
- REST-сервисы
- Request и Response
- Request-параметры
- Path-параметры
- HTTP-хидеры
- Spring HATEOAS
- Документация REST-сервисов при помощи Swagger
06
Всего: теория – 21 ч. (70%), практика – 9 ч. (30%), домашнее задание – 7 ч. (+23%)
Чему вы научитесь
01
Научитесь основным концепциям Spring Framework, включая его архитектуру
02
Освоите процесс создания приложений с использованием Spring Boot, включая настройку проекта, конфигурацию и автоматизацию
03
Научитесь использовать Spring MVC для создания веб-приложений, включая маршрутизацию, обработку запросов и работу с представлениями
04
Освоите методы работы с базами данных через Spring Data, включая использование JPA и репозиториев
05
Научитесь применять методы тестирования приложений на Spring с использованием JUnit и Mockito
Ведущий курса
Лапин Вячеслав
Специалист в области WEB, XML и Java-технологий