Курс · Java-трек
Spring Framework · IoC, JPA и MVC
Понимание контейнера и разработка веб-приложения TaskFlow
IoC, MVC, Data и Security — собираем production-ready приложение.
Основные занятия ведёт Сергей Валерьевич Герасименко — практикующий разработчик и основатель ТЕРАКОР и ТЕРАКОР Digital.
- Java 21
- Spring Framework 7
- Spring Data JPA
- Hibernate
- PostgreSQL
- Spring MVC
- Thymeleaf
Главные преимущества курса
✨ Современный Spring — чистая архитектура и реальные проекты
IoC/DI с нуля
От ручного внедрения до Spring-контейнера — полное понимание механики
Современный доступ к данным
Spring Data JPA, Hibernate, кэширование, транзакции
Веб-приложения
Spring MVC + Thymeleaf — полноценный фронтэнд на бэкенде
Аспекты и чистая архитектура
AOP для логирования, метрик и безопасности
О курсе
Spring Framework — индустриальный стандарт для enterprise-разработки на Java
Объём программы
📚 Объём программы: 120 академических часов
• 40 академ/часов — занятия с преподавателем (лекции + практика)
• 80 академ/часов — самостоятельная работа, домашние задания, проекты
Формат
Онлайн
До 8 человек в группе
Индивидуальные консультации
Результат
Сертификат + Портфолио
6 практических работ
Финальный проект в портфолио
🛠 Технологический стек
☕ Java 21 LTS 🍃 Spring Framework 6 📦 Spring MVC 🗄️ Spring Data JPA 🐘 Hibernate 6 🐘 PostgreSQL 18+ 🎨 Thymeleaf 📦 Maven 🔀 Git/GitHub ✅ JUnit 5 📝 SLF4J + LogbackКому подойдёт курс?
- Java-разработчикам, которым важно понимать механизм Spring и подготовиться к Spring Boot.
- Java Core, коллекции, исключения, JDBC и SQL; понимание интерфейсов и транзакций.
- Базовый JPA полезен, необходимое повторяется в модуле данных.
Отзывы о курсе
Мнения выпускников курса «Spring Framework: корпоративные приложения»
Обучение лично у основателя ТЕРАКОР
Сергей Валерьевич Герасименко
Руководитель ТЕРАКОР Digital · ведущий преподаватель
Ближайший поток стартует в первый понедельник следующего месяца · осталось 4 места
Возможны вечерние занятия и обучение в выходные.
Все основные программы центра ведёт Сергей Валерьевич Герасименко — практикующий full-stack разработчик, технический директор и основатель ТЕРАКОР и ТЕРАКОР Digital.
Вы обучаетесь не у преподавателя-теоретика, а у специалиста, который сам разрабатывает программные системы и применяет технологии в коммерческих проектах.
Один руководитель.Два направления.Единая инженерная практика.
Сергей Герасименко — ведущий преподаватель и практикующий разработчик с многолетним опытом преподавания в ведущих учебных центрах страны. Проектирует современные программные системы и переносит рабочие инженерные практики в обучение.
-
17+
лет в Enterprise-разработке
-
25 000+
специалистов подготовил
-
5 000+
технических собеседований провёл
Enterprise-опыт, а не пересказ документации
Создавал программное обеспечение для Управления ОАО «РЖД» и спроектировал корпоративную систему «САОС» для массовых опросов. Система победила в конкурсе инновационных проектов РЖД и сегодня используется в крупных организациях. На занятиях Сергей разбирает именно те задачи, с которыми разработчики сталкиваются в реальных коммерческих компаниях.
Знает требования рынка изнутри
Проводит tech-собеседования для банков и IT-команд. На курсе — Spring Boot 4, Kafka 4, Core, SQL и архитектура. Mock-собеседования для выпускников включены.
Программа курса выстроена на основе реальных требований работодателей — именно тех, которые Сергей проверяет на собеседованиях каждый день.
Ключевые компетенции
-
Enterprise-архитектура — проектирование высоконагруженных систем (опыт в ОАО «РЖД»)
-
Java-экосистема — Java 21, Spring Boot 4, Spring AI: от основ до production-паттернов
-
Распределённые системы — практический опыт с Kafka 4 и микросервисной архитектурой
-
Базы данных — PostgreSQL на уровне production: оптимизация запросов, проектирование схем
-
System Design — подготовка к архитектурным секциям собеседований уровня Middle+
-
Техническое интервью — 5 000+ проведённых собеседований для банков и IT-компаний
Состав программы
Что входит в программу
40 ак. ч. с преподавателем · 80 ак. ч. самостоятельно · всего 120 ак. ч. Каждый модуль — проектный этап с критериями приёмки.
IoC, DI и устройство Spring
- Роль Spring и границы модулей экосистемы.
- Связанность кода; ручной DI и внедрение через конструктор.
- ApplicationContext, bean definition и граф зависимостей.
- Maven и согласованные версии Spring; Java 21.
- Каркас TaskFlow: domain, service, repository.
Проект этапа
TaskFlow Core: сервис задач
Задача: Создать TaskService и репозиторий в памяти; сначала собрать зависимости вручную, затем через контейнер.
Результат: Две конфигурации одного сценария создания задачи.
Критерии приёмки
- Сервис зависит от интерфейса репозитория.
- Конструктор явно выражает обязательные зависимости.
- Обе сборки проходят один набор проверок.
Бины, области видимости и жизненный цикл
- Регистрация бинов и разрешение зависимостей.
- Singleton и prototype; request/session в контексте web.
- Инициализация и уничтожение; управление ресурсами.
- Циклические зависимости и диагностика ошибок контекста.
- XML-конфигурация: чтение и перенос простого примера в Java Config.
Проект этапа
TaskFlow Context: управляемые компоненты
Задача: Настроить контейнер и компонент журналирования; показать lifecycle callbacks и исправить ошибочную зависимость.
Результат: Конфигурация контекста и тесты получения компонентов.
Критерии приёмки
- Контекст запускается без циклов.
- Область видимости выбрана и объяснена.
- Ресурсы закрываются при остановке контекста.
Java Config, профили и внешние параметры
- @Configuration, @Bean, @Component и component scan.
- @Qualifier и @Primary; неоднозначные зависимости.
- @PropertySource, Environment, @Value и безопасная конфигурация.
- @Profile: разные реализации для dev и test.
- SpEL: чтение выражений и простые сценарии; тестирование конфигурации.
Проект этапа
TaskFlow Environments: конфигурация окружений
Задача: Создать dev/test-профили, переключать хранилище и уведомления без правок сервисов.
Результат: Набор конфигураций и инструкции запуска профилей.
Критерии приёмки
- Каждый профиль проходит smoke-тест контекста.
- Отсутствующий обязательный параметр выявляется при запуске.
- Секреты не хранятся в репозитории.
Репозитории: JDBC, JPA и Spring Data
- JdbcTemplate и перевод исключений доступа к данным.
- EntityManager и Hibernate; настройка инфраструктуры JPA в Spring.
- Сущности Task, Project, Assignee и связи.
- Spring Data JPA: методы запросов, JPQL, пагинация и DTO.
- N+1, fetch-план и SQL-диагностика; кэширование как отдельный компромисс.
Проект этапа
TaskFlow Persistence: постоянное хранение
Задача: Подключить PostgreSQL, создать репозитории, поиск по проекту и статусу; сравнить JDBC- и JPA-запрос для отчёта.
Результат: Схема данных, репозитории и интеграционные тесты.
Критерии приёмки
- Поиск и пагинация возвращают ожидаемые результаты.
- Список задач не порождает запрос на каждого исполнителя.
- Ограничения схемы не позволяют создать задачу с несуществующим проектом.
Транзакции и границы сервисного слоя
- ACID и граница бизнес-операции.
- @Transactional: propagation, isolation, readOnly и rollbackFor.
- Прокси и self-invocation: почему аннотация может не сработать.
- TransactionTemplate для программного сценария.
- Проверка rollback на PostgreSQL; конфликт изменений.
Проект этапа
TaskFlow Workflow: атомарная смена статуса
Задача: Изменять статус задачи и записывать историю одной транзакцией. Воспроизвести ошибку сохранения истории.
Результат: Транзакционный сервис и тесты отката.
Критерии приёмки
- Ошибка истории откатывает изменение задачи.
- Вызов через Spring proxy и прямой внутренний вызов различаются в объяснении.
- Тест проверяет состояние БД после завершения транзакции.
Spring MVC и серверные формы
- DispatcherServlet, controller, model и view resolver.
- @RequestMapping, @PathVariable, @RequestParam, @ModelAttribute.
- Thymeleaf: список, карточка, создание и редактирование.
- Jakarta Validation, BindingResult, сообщения об ошибках.
- Post/Redirect/Get, поиск, пагинация и обработка исключений.
Проект этапа
TaskFlow Web: рабочий интерфейс
Задача: Создать HTML-интерфейс задач и проектов с формами, фильтрами и корректными сообщениями валидации.
Результат: MVC-приложение и проверки контроллеров.
Критерии приёмки
- Некорректная форма показывает ошибки и сохраняет введённые данные.
- Обновление страницы после POST не создаёт дубль.
- Пустой список и отсутствующая задача обработаны явно.
AOP, наблюдаемость и проверки
- Proxy-based AOP: join point, pointcut, advice.
- @Around для времени выполнения и диагностики ошибок.
- Ограничения прокси; взаимосвязь AOP и @Transactional.
- Spring TestContext и MockMvc; слои проверки.
- Логи без чувствительных данных; избегаем дублирования сквозной логики.
Проект этапа
TaskFlow Diagnostics: измерение операций
Задача: Добавить аспект времени выполнения сервисов и тесты MVC; проверить успешную операцию и исключение.
Результат: Диагностический аспект и набор автоматических проверок.
Критерии приёмки
- Аспект не меняет результат и тип исключения.
- Измеряется нужный слой, а не каждый метод без разбора.
- Логи позволяют найти неуспешную операцию.
Интеграция и защита TaskFlow
- Проверка полного пользовательского пути.
- Конфигурация PostgreSQL и воспроизводимый запуск.
- Разбор границ транзакций и зависимостей.
- Демонстрация проекта и адресная обратная связь.
Проект этапа
TaskFlow Release: итоговый релиз
Задача: Собрать результаты модулей, показать создание проекта, назначение задачи, смену статуса и историю.
Результат: Версия проекта с README, схемой компонентов и тестами.
Критерии приёмки
- Проект запускается по инструкции на чистом стенде.
- Показаны MVC-валидация и транзакционный rollback.
- Автор объясняет DI, proxy и отличие JPA от Spring Data.
Итоговый проект: TaskFlow
TaskFlow: система задач с проектами, исполнителями, статусами, поиском и HTML-интерфейсом. Конфигурация Spring явная, данные хранятся в PostgreSQL, переходы состояния выполняются транзакционно.
- TaskFlow Core: сервис задач
- TaskFlow Context: управляемые компоненты
- TaskFlow Environments: конфигурация окружений
- TaskFlow Persistence: постоянное хранение
- TaskFlow Workflow: атомарная смена статуса
- и ещё 3 проектных этапов программы
Чему вы научитесь
Результаты программы — то, что проверяется на защите итогового проекта
Настраивать контейнер и объяснять жизненный цикл бинов.
Использовать Java Config, профили и внешнюю конфигурацию.
Создавать репозитории и управлять транзакциями через Spring.
Разрабатывать серверное MVC-приложение с формами и валидацией.
Проверять контекст, веб-слой и транзакционное поведение.
Стоимость обучения
Базовый
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 6 месяцев
- Индивидуальные консультации
⭐ Стандарт
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 1 год
- 4 индивидуальные консультации
Премиум
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 2 года
- 8 индивидуальных консультаций
- Помощь с трудоустройством
Индивидуальное обучение
Персональная программа под ваш уровень знаний и цели
Темы можно выбирать из программы курса: берём только нужные разделы, разбираем ваш проект и двигаемся в удобном темпе.
-
Подстроимся под ваши знания
Начнём с того уровня, на котором вы находитесь -
Гибкий график
Занятия в удобное для вас время -
Только актуальные темы
Количество часов пересчитывается — платите только за нужные модули -
Персональный темп
Изучайте материал в комфортной скорости без спешки -
Максимум внимания
Все вопросы разбираются детально, без ограничений по времени
Отзывы выпускников
Андрей Белов
Spring перестал быть магией! После курса полностью понимаю, как работает контейнер, почему нужны интерфейсы и как настраивать транзакции. Проект TaskFlow добавил в резюме — уже получил оффер!
Елена Михайлова
Отличный баланс теории и практики. Особенно понравился модуль про AOP — наконец-то поняла, как работают аннотации вроде @Transactional. Сергей — лучший преподаватель!
Денис Кравцов
Переходил с C# на Java. Курс помог быстро въехать в экосистему Spring. Сейчас работаю Java-разработчиком, благодарен за фундамент!
ТЕРАКОР · ул. Каланчёвская, д. 15, м. Каланчёвская (по предварительной записи)
Открыть на Яндекс.Картах