Spring Framework — универсальный фреймворк с открытым исходным кодом для Java-платформы. Модульная конструкция этого фреймворка позволяет разработчикам подключать к нему только те модули, которые им необходимы и именно поэтому он стал таким популярным. Это очень удобный и функциональный фреймворк, который подойдет как для разработки веб-приложений так и для написания консольных программ.
Здесь мы собрали для вас подборку достойных бесплатных и платных онлайн-курсов по работе с фреймворком Spring, с помощью которых вы сможете усовершенствовать свои навыки и стать настоящим специалистом.
[Skillbox] Java-фреймворк Spring
Вы освоите самый популярный фреймворк для создания веб-приложений и REST-сервисов на Java. Узнаете, как создавать и поддерживать приложения на Spring, повысите свой профессиональный уровень и сможете зарабатывать больше. Научитесь создавать и оптимизировать веб-приложения и создать собственный книжный интернет-магазин.
Школа: Skillbox - онлайн-университет digital и IT профессий
Сайт: https://skillbox.ru/
Спикеры:
Даниил Пилипенко
Кирилл Кошаев
Длительность: 2 месяца
Интенсивность: около 2 часов в день
Формат обучения: Онлайн обучение на платформе Skillbox. Теория и практика.
Для кого этот курс: Java-разработчикам (узнаете, как создавать и оптимизировать веб-приложения, и сделаете собственный книжный интернет-магазин)
Программа:
12 тематических модулей, 67 видеоматериалов
- Введение в Spring MVC (XML-based подход)
- Введение в Spring MVC (Java-based подход)
- Разработка на Spring Boot
- Шаблоны и Thymeleaf
- Работа с данными
- Spring RESTful API. Часть 1
- Spring RESTful API. Часть 2
- Безопасность Spring-приложений
- Тестирование Spring-приложений
- Spring AOP
- Интеграция с внешними сервисами
- Итоговый проект. Книжный интернет-магазин
Чему научитесь:
- Создавать полноценный REST-backend с преобразованием данных и валидацией
- Реализовывать приложения по документации
- Разрабатывать и развивать приложения на фреймворке Spring
- Создавать приложения, использующие шаблоны страниц и шаблонизатор Thymeleaf
- Работать с базой данных, используя Hibernate и JDBC
- Делать приложения, работающие по REST API
- Быстро и эффективно разрабатывать приложения с помощью Spring Boot
- Создавать автоматические тесты для Spring-приложений
- Организовывать загрузку и скачивание файлов
Особенности обучения:
- Отработка навыков на практике
- Доступ к курсу навсегда
- Год английского языка бесплатно
- Проверяющие эксперты и куратор в Telegram-чате
- Рассрочка
[OTUS] Разработчик на Spring Framework
Обучение построено в формате вебинаров. Участникам предлагается выполнять домашние задания. По каждому домашнему заданию преподаватель дает развернутую обратную связь. В процессе обучения слушатель может задавать уточняющие вопросы по материалам лекций и домашнему заданию. Необходимое время: 4 часа занятий и 4-8 часов для домашних заданий в неделю.
Школа: OTUS - авторские курсы для IT-специалистов
Сайт: https://otus.ru/
Длительность: 5 месяцев
Интенсивность: 4 ак. часа в неделю
Формат обучения: Online
Требования:
Java Basics
Multithreading (позже)
Основы HTML/HTTP/JS
Основы SQL
Maven или Gradle
Программа:
Введение
- Введение в Spring Framework
- Конфигурирование Spring-приложений
- ЛикБез - Основы архитектуры ПО
- AOP, Spring AOP
- "Чёрная магия" Spring Boot
- Продвинутая конфигурация (часть 1) - Scopes, Lifecycle
- Продвинутая конфигурация (часть 2) - Conditionals, Events, тестирование
- Разбор домашних заданий, QnA
Работа с базами данных
- DAO на Spring JDBC
- Основы ORM, JPA, Hibernate как провайдер JPA
- JPQL, Spring ORM, DAO на основе Spring ORM + JPA
- Транзакции, Spring Tx
- "Белая магия" Spring Data: Spring Data JPA
- SQL и NoSQL базы данных
- Spring Data для подключения к нереляционным БД
- Разбор домашних заданий, QnA
Разработка Web-приложений
- Введение в Spring MVC, Spring MVC на Spring Boot
- Spring MVC View
- Современные приложения на Spring MVC
- Реактивное программирование
- Reactive Spring Frameworks
- Spring WebFlux
"Около" и "Дзен"
- Вебинар-собеседование
- Spring Security: Архитектура
- Spring Security: Механизмы аутентификации
- Spring Security: Авторизация
- Spring Security: ACL
- Spring Batch
- Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)
- Spring Integration: Messages и Channels
- Spring Integration: Endpoints и Flow Components
- Монолиты vs. Microservices (Round 2), Spring Boot Actuator - must have в микросервисах
- REST-клиенты, SOAP, Spring WebServices и клиенты к ним
- Docker, оркестрация, облака, облачные хостинги
- Знакомство с Kubernetes
- Облака, Mongo DB Atlas cluster, Spring Cloud
- Spring Cloud Config, Spring Cloud Bus, Spring Cloud Service Discovery с Eureka, Ribbon и Feign
- Zuul, Hystrix Circuit Breaker, Sleuth, Zipkin, Hystrix Dashboard, Secure Configuration Properties
- Обзор дополнительных технологий Spring, быстрая разработка приложений
- Применение RabbitMQ
- Применение Kafka
Проектная работа
- Выбор темы и организация проектной работы
- Защита проектных работ №1
- Защита проектных работ №2
Навыки после обучения:
- Знание современных возможностей Spring
- Умение быстро проходить путь от идеи до production-grade
- Умение «выживать» в проектах, где есть Spring
- Владение фреймворками Spring и технологиями вспомогательных проектов
- Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи
Особенности обучения:
- Уникальная авторская программа
- Большое число проектов Spring, затрагивающих все сферы разработки
- Изучается современный Reactive стек Spring, который не рассматривается нигде
- Сертификат
[Специалист] Разработка приложений с использованием SPRING и Spring MVC/REST
Курс предназначен для Java-программистов, которые планируют использовать SPRING -компоненты в своей практике. Особенно курс по Java SPRING Beans будет интересен разработчикам web-приложений и REST-сервисов на Java.
Школа: Специалист - учебный центр при МГТУ им.Н.Э.Баумана
Сайт: https://www.specialist.ru
Длительность: 40 ак. ч.
Формат обучения: Очно, онлайн
Аудитория: Java -разработчики приложений, планирующие использовать каркас Spring для разработки web-приложений и REST-сервисов.
Программа:
- Введение в Spring Framework (4 ак. ч.)
- Свойства компонентов в Spring (4 ак. ч.)
- Spring контейнер и API (4 ак. ч.)
- Доступ к данным в Spring (6 ак. ч.)
- Транзакции (2 ак. ч.)
- Web-приложения с использованием Spring MVС (6 ак. ч.)
- Spring безопасность (4 ак. ч.)
- REST сервисы в Spring (6 ак. ч.)
- Аспектно-ориентированное программирование(AOP) (4 ак. ч.)
Чему научитесь:
- Понимать и использовать новые мощные возможности аспектно-ориентированного программирования в Spring
- Применять Spring MVC для создания RESTful сервисов
Особенности обучения:
- Документы об окончании обучения
[YouTube] Уроки Java Spring Boot / #1 - Создание веб-сайта на Java
Канал: Гоша Дударь
За курс вы познакомитесь с фреймворком Spring, научитесь создавать шаблоны и работать с базами данных, а также создадите полноценный веб-блог на основе языка Java.
Дата начала: В любое время
Интенсивность: Свободный график
Формат обучения: Видеокурс
Плейлист:
- Создание веб-сайта на Java
- Главная страница сайта
- Разработка раздела «Блог»
- Работа с базой данных MySQL. Создание модели
- Форма добавления записей через сайт
- Вывод каждой из статей
- Редактирование и удаление
[Академия АйТи] Программирование на Spring Framework (включая Spring Boot)
Экспресс курс на котором вы научитесь использовать Spring Framework, Spring Boot и Spring Cloud на практике, на реальных примерах познакомитесь с особенностями внутреннего устройства. Рассматривается актуальная версия самого фреймворка Spring и вспомогательных инструментов.
Школа: Академия АйТи - учебно-консалтинговый центр
Сайт: https://academyit.ru/
Длительность: 5 дней (40 часов)
Для кого этот курс: Java-разработчики с опытом от 1 года
Программа:
- Spring Framework
- Spring MVC
- Spring Boot
- RESTful веб-сервисы
- Работа с данными (Spring Data)
- Автотестирование
- Микросервисы
Чему научитесь:
- Разрабатывать микросервисы с использованием Spring Cloud и стека Netflix
- Разрабатывать веб-приложения и RESTful веб-сервисы
- Реализовывать механизмы безопасности с использованием Spring Security
- Разбираться в типичных проблемах, возникающих при использовании Spring и причинах их вызывающих
- Работать с базами данных используя Spring Data
- Писать авто-тесты с использованием Spring Test и Spring Boot Test
- Успешно конфигурировать Spring Framework под свои нужны
Особенности обучения:
- Сертификат
[Softline] Введение в Spring Framework.
Курс предназначен для профессиональных разработчиков программного обеспечения с небольшим знанием Java, которые хотят получить всестороннее понимание платформы, включая понимание технологий, участвующих в создании приложений корпоративного класса.
Школа: Учебный центр Softline
Сайт: https://edu.softline.com/
Длительность: 24 ак. часов
Формат обучения: Онлайн
Для кого этот курс: Для разработчиков, знакомых с платформой Java (как SE, так и EE), желающих научиться применять популярный фреймворк Spring
Программа:
- Обзор Spring Framework. Loosely coupled code. Dependency Injection. Архитектура "боб-контейнер"
- Способы конфигурации контекста Spring
- Разновидности бобов. Продвинутые приемы конфигурации контекста
- Особенности конфигурации контекста Spring на Java сервере
- Применение Spring для работы с JDBC и управления трансакциями
- Модульное тестирование приложений Spring. Конфигурация тестового контекста
- Aspect Oriented Programming
- Применение Spring для создания Web приложений
- Безопасность в Spring: аутентификация, авторизация, хранение паролей, CSRF
Чему научитесь:
- Узнаете о принципах создания приложений Spring Framework
- Научитесь создавать приложения на Java
Учебные материалы
Подборка учебных материалов, а также практические инструкции, которые отражают функциональность и применимость Spring Framework и сопутствующих его проектов.
Сайт: https://spring-projects.ru/guides/
Дата начала: В любое время
Длительность: Срок обучения не ограничен
Интенсивность: Свободное обучение
Кому подойдет: Для новичков
[Avenue] Java Middle-разработчик (курс по Spring)
Этот курс познакомит вас с фреймворком Spring. По окончании курса вы сможете создавать современные веб-приложения и REST-сервисы на Java, что повысит ваши шансы на трудоустройство. Домашние задания с уклоном на практику поспособствуют быстрому развитию навыков.
Сайт: https://msk.avenue.school
Длительность: 2 месяца
Формат обучения:
Онлайн: теория, проверка домашних заданий, видеозаписи всех занятий
Очно: занятия в аудиториях, проверка домашних заданий, видеозаписи всех
Для кого этот курс:
Начинающим программистам
Java разработчикам
Back-end разработчикам
Выпускникам Java
Программа:
- Spring и Hibernate (21 Ак. Час)
- Docker. Тестирование приложений (21 Ак. Час)
Вы научитесь:
- Тестировать готовые приложения
- Знать особенности работы с БД и запросами через проекты Spring
- Владеть базовыми навыками работы с Hibernate
- Создавать веб-приложения с помощью Spring MVC
- Создавать веб-приложения с помощью Spring MVC
- Владеть базовыми навыками работы с Hibernate
- Знать особенности работы с БД и запросами через проекты Spring
- Тестировать готовые приложения
- Использовать возможности Spring в Java-разработке
Особенности обучения:
- Тренинг по трудоустройству
- Сертификат
- Портфолио
- Акцент на практике
- Общий чат и постоянная онлайн-поддержка от преподавателя
- Тренинг по трудоустройству
[YouTube] Архитектура - The Basics of Spring Framework
Канал: Онлайн уроки по Java
Данный курс знакомит с базовыми концепциями Spring Framework и его основными модулями: Core, AOP, JDBC. С помощью практических примеров объясняется внедрение зависимостей (dependency injection), определение объектов (beans), их связывание. Курс учит различным способам конфигурации Spring, а также показывает базовые приемы использования базы данных и аспектов (aspects), языка выражений (expression language) и аннотаций.
Дата начала: В любое время
Интенсивность: Обучение в свободном режиме
Формат обучения: Видеокурс
Все уроки:
Открыть
- Архитектура
- Внедрение зависимостей
- Именование бинов и старт контекста
- Scopes and Inner Beans
- Initialize & Destroy
- Возможности контекста
- Внедрение через property
- Больше возможностей контекста
- Конфигурация с помощью аннотаций
- Язык выражений
- AOP
- Простые аспекты
- Простой доступ к БД
Курс по Spring
Подборка материалов для изучения фреймворка.
Сайт: https://sysout.ru/spring/
Дата начала: В любое время
Интенсивность: Свободное обучение
Формат обучения: Материалы для чтения
Кому подойдет: Для новичков
Список материалов:
Основы
- Работа с IoC-контейнером в Spring
- Способы внедрения зависимостей (Dependency Injection) в Spring
- @ComponentScan в @SpringBootApplication. Аннотация @Import
- Аннотация @Lazy
- @Primary, @Qualifier и внедрение списка
- @Conditional бин и @Autowired(required=false)
- Создание бинов с помощью фабричных методов
- Как использовать аннотацию @Lookup
Aspect Oriented Programming (AOP)
- Кратко Spring AOP
Свойства и профили
- Конфигурация Spring Boot приложения
- Настройка профилей в Spring Boot
Spring MVC
- Введение в Spring MVC
- Введение в Thymeleaf
- Локализация сайта
- Тестирование REST контроллеров с MockMvc
REST
- Spring Boot REST API
- Преобразование entity в DTO
- Spring Boot REST API – обработка исключений. Часть 1
- Обработка исключений Spring Boot REST API – ResponseEntityExceptionHandler
- Тестирование REST API с TestRestTemplate
- TestRestTemplate и тестирование защищенных url
- Тестирование Spring Boot приложения с REST-assured
Spring Security
- Добавление Spring Security и In-Memory Authentication
- Настройка авторизации
- Custom Login Form
- Как устроена аутентификация в Spring Security
- Пример аутентификации с пользовательским AuthenticationProvider и с пользовательским UserDetailsService. (Пример с JPA)
- JDBC-аутентификация
- Remember-Me
- JWT-токен: зачем он
- Пример приложения с JWT-токеном
- Защита методов с помощью @PreAuthorize
- Spring Security ACL
- Разные HttpSecurity для разных url
- CSRF-токен
- CORS в Spring Security
- OAuth 2: Client Credentials Flow
- OAuth 2: Authorization Code Flow
- Single Sign-On с поставщиком VK
- Single Sign-On с Keyloak
Liquibase
- Работа с Liquibase
Тестирование
- Тестирование в Testcontainers
Actuator
- Spring Boot Actuator
Чат
- Пример чата на Spring Boot и Websocket
Spring Webflux и Reactive
- Разработка реактивных приложений с Reactive Streams и Java 8. Часть 1.
- Разработка реактивных приложений с Reactive Streams и Java 8. Часть 2.
- Немного о Webflux (переводная статья) — Servlet vs. Reactive Stack – 5 примеров
Spring Integration
- Введение в Spring Integration
- Адаптеры в Spring Integration
- Агрегатор в Spring Integration
Spring Batch
- Введение в Spring Batch: Job, JobInstance, ExecutionContext, JobLauncher и рестарт
- Chunks vs Tasklet
- Отказоусточивость Spring Batch: retry() и skip()
Spring Cloud
- Микросервисы: Eureka и client-side Load Balancing
- Spring Cloud API Gateway
- Spring Cloud Configuration Server
- Отказоустойчивость микросервисов: шаблон Circuit Breaker
Docker
- Как развернуть приложение в Docker. Пример
[YouTube] Введение в Spring Framework
Канал: javabegin
Дата начала: В любое время
Интенсивность: Свободный график
Формат обучения: Видеокурс
Кому подойдет: Для новичков
Плейлист:
Открыть
- Введение в Spring Framework
- Начало работы со Spring
- Использование интерфейсов
- Плагины для eclipse
- Пример приложения Spring
- Использование конструктора в Spring
- Геттеры Сеттеры в Spring
- IoC контейнер
- Порядок и типы параметров
- Область действия
- Область действия решение
- Импорт конфигураций
- Инциализация в Spring
- Примеры кода на Spring
[YouTube] Spring Framework: Введение. Зачем изучать Spring?
Канал: alishev
Таймкоды:
0:00 Вступление
0:14 Что такое framework? ~ Каркас
1:32 Популярные фреймворки
2:01 История
2:56 Востребованность Spring
6:26 Application Context & Dependency Injection
8:50 А можно ли без Spring?
10:43 Другой пример
12:21 Проблемы
16:23 Удобный и эффективный доступ к БД
17:33 Spring MVC
18:55 Другие компоненты Spring Framework
Дата начала: В любое время
Интенсивность: Обучение в своем темпе
Формат обучения: Видеокурс
Все уроки:
Показать
- Введение. Зачем изучать Spring?
- Первое приложение (IntelliJ Idea).
- Первое приложение (Eclipse).
- Инверсия управления. Inversion of Control (IoC).
- Внедрение зависимостей. Dependency Injection (DI). Введение.
- Внедрение зависимостей. Dependency Injection (DI). Часть 2.
- Bean scope (Область видимости бинов).
- Жизненный цикл бина (Bean Lifecycle). Init, Destroy и Factory методы.
- Аннотации. Введение.
- Аннотация @Autowired. Внедрение зависимостей (Dependency Injection).
- Аннотация @Qualifier. Внедрение зависимостей (Dependency Injection).
- Аннотации @Scope, @Value, @PostConstruct, @PreDestroy.
- Конфигурация с помощью Java кода.
- Spring MVC. Теория.
- Spring MVC. Первое приложение.
- Spring MVC. Конфигурация с помощью Java кода.
- Контроллеры. Аннотация @Controller.
- Протокол HTTP. Методы GET и POST.
- Параметры GET запроса. Аннотация @RequestParam.
- Модель. Передача данных от контроллера к представлению.
- CRUD, REST, Паттерн DAO (Data Access Object).
- Аннотация @ModelAttribute. HTML Формы (Thymeleaf).
- CRUD приложение. PATCH, DELETE запросы.
- Валидация форм. Аннотация @Valid.
- JDBC API. Базы данных.
- SQL инъекции. PreparedStatement. JDBC API.
- JdbcTemplate.
[YouTube] Java spring framework: Введение в бины, IoC, Урок 1!
Канал: Образование онлайн
Дата начала: В любое время
Интенсивность: Обучение в свободном режиме
Формат обучения: Видеокурс
Плейлист:
- Введение в бины, IoC, Урок 1!
- Работа с бинами, атрибут ref, урок 2
- Начало работы spring mvc, урок 3
- Spring MVC (Contoller), урок 4
- Локализация Spring MVC (UTF-8, ISO-8859-1) . Урок 5
- Spring MVC, работа с формами (HttpServletRequest), Урок 6
[YouTube] Spring Boot: делаем простое веб приложение на Java (простой сайт)
Канал: letsCode
Пошагово создадите Spring Boot 2 web приложение с нуля. В процессе разберетесь как подключить и настроить базу данных, создать структуру таблиц и их связей, настроить авторизацию пользователей через логин и пароль (а также через Google аккаунт). Попутно разберетесь с библиотеками и технологиями, входящими в поставку Spring Boot: Spring Data, Hibernate, JPA, Spring Boot Mail, Spring MVC, Flyway, Bean Validation, Freemarker, Mustache, Spring Security.
Дата начала: В любое время
Интенсивность: Обучение в свободном режиме
Формат обучения: Видеокурс
Плейлист:
Открыть
- Spring Boot: делаем простое веб приложение на Java (простой сайт)
- SDKMan: установка Java, Kotlin, Scala, Groovy, Gradle, Maven
- Windows: Bash + SDKman в IDEA
- Spring Boot JPA (Hibernate): добавляем базу данных в веб приложение на Java (простой сайт)
- Spring Boot Security: добавляем регистрацию и авторизацию пользователей в приложение (простой сайт)
- Spring Boot Jpa (Hibernate): добавляем связи между таблицами базы данных (one to many)
- Spring Boot Freemarker: подключаем шаблонизатор Freemarker
- Spring Boot Security: добавляем панель администратора и роли пользователей, ограничиваем доступ
- Spring Boot MVC: загрузка файлов на сервер и раздача статики
- Spring Boot: оформляем UI с Bootstrap
- Spring Boot Mail: рассылка почты пользователям, активация аккаунта
- Spring Boot FlyWay: миграции БД, профиль пользователя
- Spring Boot: bean validation, шифрование паролей
- Spring Boot: reCaptcha, rest client, rememberMe и сохранение сессий в БД
- Spring Boot: публикуем приложение на сервер (deploy)
- Spring Boot: публикуем приложение (из Windows) на linux сервер (deploy с комментариями)
- Spring Boot: JPA oneToMany - сообщения пользователя, редактор сообщений
- Spring Boot: JPA ManyToMany - подписки и подписчики
- Делаем простое REST приложение с нуля. Spring Boot REST
- Vue.js - базовый JavaScript интерфейс для REST приложения (часть 1). Spring Boot REST
- Vue.js - отображение и изменение данных с сервера (часть 2). Spring Boot REST
- Подключаем базу данных, настраиваем Jackson. Spring Boot REST
- Java Tools: Project Lombok - пишем меньше кода
- Подключаем Spring Security и oAuth2. Spring Boot REST
- Настраиваем Spring Security и oAuth2 в Vue.js. Spring Boot REST
- Spring Boot: интеграционное тестирование с Spring Testing
- Настраиваем Webpack и разбиваем фронт на модули. Spring Boot REST
- Spring Boot: постраничное отображение длинных списков (pagination)
- Spring Boot: модульное тестирование и подмена (mock object)
- Подключаем WebSocket (SockJS + Stomp). Spring Boot REST
- Spring Boot: добавляем "лайки", используем HQL (JPQL)
- Стилизуем приложение с Vuetify (Material design). Spring Boot REST
- Spring Boot + Turbolinks: ускоряем отображение страниц
- Сериализуем с JsonView при отправке через WebSocket. Spring Boot REST
- Настраиваем Vuex. Централизованное хранилище. Spring Boot REST
- Vue Router. Роутинг в браузере. Spring Boot REST
- Vaadin: адаптивный SPA сайт без JavaScript (на оленях и Spring Boot)
- Open Graph Protocol: превью ссылок на сайте по микроразметке. Spring Boot Rest
- Комментарии с JPA Entity Graph. Spring Boot Rest
- Решение циклических ссылок в JSON. Vue debug. Spring Boot Rest
- Бесконечная прокрутка списков. Spring Boot Rest
- Подписки пользователей. Spring Boot Rest
- Подписки с подтверждением. Spring Boot Rest
- Подписки с подтверждением: фронтенд. Spring Boot Rest
- Sentry: собираем ошибки от пользователей. Spring Boot Rest
- Собираем JAR с Vue.js внутри. Spring Boot Rest
- Публикация на Heroku. Spring Boot Rest
- Webix: просто и быстро. Spring Boot + Webix
- Простой расширяемый REST CRUD. Spring Boot + Webix
- JS таблица для REST CRUD. Spring Boot + Webix