OTUS

Разработчик на Spring Framework

  • Язык: Русский
  • Осталось мест: не ограничено
Записаться

Разработчик на Spring Framework

Освой востребованный фреймворк для создания приложений на Java, чтобы выйти на новый профессиональный уровень.
Программа обучения
  • Введение

    В данном модуле будут рассматриваться понятия и функциональности, на которых базируются все проекты Spring: Inversion of Control (Spring Context), аспектное программирование (Spring AOP), Spring Expression Language (SpEL). Слушатели смогут правильно и эффективно конфигурировать Spring-приложения различными средствами и способами, а также будет рассмотрена "чёрная магия" Spring Boot - автоконфигурации.

    Тема 1: Знакомство с курсом

    Тема 2: Введение в Spring Framework // ДЗ

    Тема 3: ЛикБез - Основы архитектуры ПО

    Тема 4: Конфигурирование Spring-приложений // ДЗ

    Тема 5: AOP, Spring AOP

    Тема 6: "Чёрная магия" Spring Boot // ДЗ

    Тема 7: Продвинутая конфигурация (часть 1) - Scopes, Lifecycle

    Тема 8: Продвинутая конфигурация (часть 2) - Conditionals, Events, тестирование // ДЗ

  • Работа с базами данных

    В данном модуле будет рассмотрены проекты Spring для работы как с реляционными базами данных, так и с NoSQL базами данных. Spring JDBC, Spring ORM, Spring Data Repositories и, разумеется, работа с транзакциями. Помимо проектов Spring, участники смогут разбираться в особенностях различных баз данных, а также использовать специальные embedded-базы даных.

    Тема 1: DAO на Spring JDBC // ДЗ

    Тема 2: Основы ORM, JPA, Hibernate как провайдер JPA

    Тема 3: JPQL, Spring ORM, DAO на основе Spring ORM + JPA // ДЗ

    Тема 4: Транзакции, Spring Tx

    Тема 5: "Белая магия" Spring Data: Spring Data JPA // ДЗ

    Тема 6: SQL и NoSQL базы данных

    Тема 7: Spring Data для подключения к нереляционным БД // ДЗ

  • Разработка Web-приложений

    В данном модуле будут рассматриваться возможности Spring для разработки Web-приложений: Spring MVC и современный Reactive-ориентированный Spring WebFlux. Разумеется, будут рассмотрены популярные технологии View и разработка современных SPA-приложений. И, конечно, различные "плюшки" Spring Boot, максимально ускоряющие разработку Web-приложений.

    Тема 1: Введение в Spring MVC, Spring MVC View на Spring Boot // ДЗ

    Тема 2: Современные приложения на Spring MVC // ДЗ

    Тема 3: Reactor. Введение в реактивное программирование

    Тема 4: Spring WebFlux // ДЗ

  • Spring Security

    Тема 1: Spring Security: Архитектура

    Тема 2: Spring Security: Механизмы аутентификации // ДЗ

    Тема 3: Spring Security: Авторизация

    Тема 4: Spring Security: ACL // ДЗ

  • "Около" и "Дзен"

    В данном модуле рассматриваются продвинутые проекты Spring, решающие специфичные задачи, связанные с авторизацией и аутентификацией, размещением сервисов в облаках и работой с БД, а также облегчающие создание больших монолитов и систем на микросервисной архитектуре.

    Тема 1: Spring Batch // ДЗ

    Тема 2: Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)

    Тема 3: Spring Integration: Messages и Channels

    Тема 4: Spring Integration: Endpoints и Flow Components // ДЗ

    Тема 5: Монолиты vs. Microservices (Round 2), Spring Boot Actuator - must have в микросервисах // ДЗ

    Тема 6: REST-клиенты, SOAP, Spring WebServices и клиенты к ним

    Тема 7: Docker, оркестрация // ДЗ

    Тема 8: Знакомство с Kubernetes

    Тема 9: Spring Cloud. Конфигурация и взаимодействие

    Тема 10: Spring Cloud. Отказоустойчивость и мониторинг

    Тема 11: Применение RabbitMQ

    Тема 12: Применение Kafka

    Тема 13: Комплексный пример использования WebFlux и Kafka

  • Проектная работа

    Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Проект должен быть сделан на основе Spring Boot, включать работу с DB с ипользованием Spring Data репозиториев и/или Spring JDBC. Проект должен иметь UI построенный на современных принципах разработки Web-приложений (AJAX и/или SPA). Приложение должно содержать механизмы аутентификации и авторизации с использованием Spring Security Асинхронные части могут быть реализованы с помощью Spring Integration. Пектные обработки, утилиты поддержки должны быть реализованы с помощью Spring Batch + Spring Shell. Проект должен быть cloud-ready. Примеры тем: - Онлайн-библиотека - Блог с админкой/регистрацией пользователей

    Тема 1: Выбор темы и организация проектной работы

    Тема 2: Защита проектных работ №1

    Тема 3: Защита проектных работ №2

Преподаватели

  • Сергей Петрелевич

  • Александр Оруджев

  • Дмитрий Коган

  • Владимир Магеров

  • Владимир Иванов