Видеокурс по Spring Framework
Загрузка страницы, пожалуйста подождите... (5-10 сек)
  • Spring WebFlow
  • Для начинающих
  • веб разработка

    диалоговых приложений
  • пожизненная поддержка через

    закрытую группу

Что такое Spring WebFlow?

Spring WebFlow - это дополнение к стандартным возможностям Spring MVC для разработки веб приложений.

 

Вам обязательно нужно выучить эту технологию, если вы хотите создавать сложные веб проекты со сложными бизнес процессами.

 

Без использования Spring WebFlow - разработка более менее крупного проекта может остановиться из-за того, что вы запутаетесь в своем коде.

 

Данный фреймворк - отлично решает эту проблему.

 

Вы просто делите свой проект на разные бизнес процессы и реализовываете их через Spring WebFlow.

 

 

Эту технологию ждали много лет и наконец-то она стала доступной!

 

Вы будете создавать визуальные схемы работы вашего приложения и после этого добавлять к нему программный код.

 

Очень удобный подход, когда вы проектируете работу приложения отдельно от кода.

 

Например, покупка товара, добавление его в корзину, оформление заказа и т.д.

 

В этом случае пользователь вашей системы проходит через ряд шагов, которые доведут его до конца.

 

 

 

Что вам дает использование Spring WebFlow

Бизнес - процессы

Быстрая разработка бизнес процессов

Удобство

Отделение логики работы приложения от кода

Интеграция

Удобная интеграция с другими фреймворками (Spring MVC, JSF, Struts)

AJAX

Интеграция с AJAX и JavaScript

 

 

Можно ли выучить Spring WebFlow самостоятельно?

img01

Проблема

Очень большая проблема при изучении Spring WebFlow, особенно у начинающих программистов - это отсутствие литературы.

 

На русском языке практически ничего найти не удается, на английском - многие книги уже неактуальны.

 

Это и есть главное препятствие - поиск качественной информации.

 

К тому же мало исходных кодов или проектов, по которым можно было научиться самостоятельно.

 

Для многих новичков это препятствие является непреодолимым при изучении Spring WebFlow и они завершают свой путь.

 

Я в свое время изучал эту технологию с помощью различных тренингов и ресурсов на английском языке, плюс официальная документация.

 

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

 

Введение в Spring webflow

В первую очередь вы настроите среду разработки и сервер приложений. На них будете отрабатывать все исходные коды по урокам.

 

Список используемого ПО:

  • eclipse
  • Apache Tomcat
  • Плагины

 

Основные понятия

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

 

На самом деле - это основа всего, что вы будете изучать. Не зная фундамент, все следующие темы будут не до конца понятны.

 

Вы узнаете, какие типы методов HTTP вы будете обрабатывать чаще всего, а какие не нужно.

 

В общем в первой части мы уделим большое внимание общей концепции Spring MVC.

 

 

 

Создание потоков

Первая практическая часть, где вы сразу создадите свой первый поток и поймете принципы его работы.

 

Как обычно начнем с самого минимального, чтобы все было понятно даже новичку. В последствие будем усложнять примеры, дорабатывать и добавлять новые функции.

 

На основе легкой навигации вы быстро поймете как работает Spring WebFlow.

 

В этой части вашей главной задачей будет понять, как поток интегрируется с приложением Spring MVC и как происходит взаимодействие с пользователем.

 

 

 

Передача данных с формы

В любом приложении вам придется передавать данные, которые ввел пользователь и что-то с ними делать.

 

В Spring Webflow этот механизм работает очень легко и вы сможете легко передавать данные из формы в поток и обратно.

 

Вы научитесь использовать этот базовый функционал, создавать поля, связывать их с объектами.

 

 

Создание подпотоков

Еще одна интересная функция. Если вам нужно создать один главный бизнес-процесс и в нем будут ответвления - вам помогут подпотоки.

 

С их помощью вы сможете выполнять разбиение сложных процессов на составные части и в конце соединять их воедино.

 

Как обычно, на простом и понятном примере вы поймете, как создаются подпотоки, как они принимают и возвращают переменные.

 

 

Области видимости данных

Spring WebFlow предлагает нам новые уровни видимости данных.

 

И это на самом деле очень важно, многим веб программисты Java не хватало именно правильного распределения переменных в памяти.

 

Вы узнаете, почему Spring WebFLow получил такую популярность также благодаря этим нововведениям - как правильно хранить и очищать данные пользователя, когда они уже не нужны.

 

 

 

FlowRequestContext

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

 

После создания любого потока вам надо уметь связывать этот поток со своими POJO классами и передавать между ними значения.

 

В этом вам помогут специальные объекты, один из которых - FlowRequestContext.

 

ResourceBundle

Spring WebFlow также поддерживает использование файлов локализации внутри потоков, чтобы ваше приложение поддерживало различные языки.

 

Как вы знаете, в Spring MVC эта поддержка работала на уровне сервлета, но тут еще добавляются новые возможности.

 

Это реализовано очень легко - вы узнаете какие настройки нужно произвести и что прописать внутри потоков, чтобы вместо прямого текста использовать ключи с переводами.

 

 

Перехват исключений

Вы можете легко управлять ходом вашего потока благодаря системе перехвата исключений.

 

Это дает гибкость в разработке - вы просто создаете нужный вам POJO класс, описываете его функционал и после этого внедряете в любой из потоков.

 

Здесь хорошо видна независимость разработки и проектирования бизнес процессов.

 

 

 

Добавление JavaScript

Чтобы разбавить интерфейс пользователя красивыми элементами и повысить юзабилити - вы можете подключать библиотеки JavaScript.

 

В Spring WebFlow сделали интересную реализацию, основанная на паттерне "декоратор", чтобы вам не нужно было самостоятельно прописывать команды JS.

 

Вы узнаете какие библиотеки JS используются и какие возможности они вам дают.

 

 

 

Валидация

Мне, как и вам наверно тоже, никогда не нравилось реализовывать валидацию данных, делать различные проверки и пр.

 

Потому что порой это такая муторная работа, которую хочется оставить на потом.

 

Но в Spring WebFlow валидация может быть выполнена очень быстро с помощью готовых спецификаций.

 

Также, если использовать контекст сообщений, то все ошибки тут же могут быть видна на веб странице.

 

 

 

Добавление контроллеров Spring MVC

Частый вопрос новичков - как связать работу Spring MVC контроллеров и потоков Spring WebFlow.

 

Это нужно для того, чтобы создавать гибридные приложения, в котором есть как готовые бизнес процессы, так и отдельные страницы, ссылки, отчеты PDF и пр.

 

Вы узнаете как совмещать разные принципы взаимодействия с пользователем - либо с помощью потоков, либо с помощью "обычной" обработки внутри контроллера.

 

 

 

Вызов потока из контроллера

В продолжение предыдущей темы - здесь вы научитесь инициировать поток программным путем из контроллера Spring MVC.

 

Т.е. вы узнаете как работает двустороннее взаимодействие между этими принципами обработки запросов.

 

Обычно поток создается в результате действий пользователя, например перехода на определенную страницу.

Но также важно уметь делать это программным путем.

 

 

 

Spring и Java Server Faces (JSF)

Важная часть видеокурса - как объединить в себе две мощные технологии: Spring и JSF.

 

Вы узнаете какие бывают варианты интеграции и рассмотрите все для сравнения.

 

JSF позволит вам использовать готовые UI библиотеки, такие как PrimeFaces или RichFaces и внедрять это в контейнер Spring.

 

Раньше такой возможности не было, только сейчас вы можете использовать обе технологии на полную мощность.

 

Мне лично эта возможность нравится больше всего и все наши приложения мы создаем в связке Spring + JSF

 

 

Spring centric integration

Более подробный разбор случая, когда в качестве представления у вас будет выступать JSF страница на основе Facelets.

 

Мы разберем готовый пример и основные моменты: как связываются поток и страница JSF, как создаются действия, передача данных и пр.

 

Также вы научитесь создавать конфигурацию не только через XML, но и через Java код, это бывает удобнее, особенно, если вы привыкли программировать в стиле ООП.

 

 

Наследование потоков

Как и в обычном Java, потоки можно наследовать, чтобы избежать дублирования кода.

 

Но в Spring WebFlow наследование реализовано немного по-другому, вы возможно удивитесь некоторым особенностям.

 

Вы узнаете как создавать абстрактные потоки и от них уже дочерние, которые будут наследовать элементы родителя.

 

 

 

Тестирование потоков

Еще одна важная деталь, которая отличает профессионала от любителя. Профи всегда создает тесты для своих кодов, в том числе и для потоков.

 

С помощью специальных классов тестирование потоков практически ничем не отличается от обычного тестирования по разным результатам.

 

Чтобы вы могли точно быть уверенным, чтобы ваш функционал будет работать верно - его всегда нужно тестировать.

 

 

Разбор готовых примеров

Помимо своего небольшого проекта, который вы будете разрабатывать на протяжении всех уроков - мы также разберем несколько готовых примеров.

 

Они уже будут с очень большим функционалом, сложными процессами и базами данных

 

Этот блок поможет вам закрепить полученные знания на практике и увидеть как обычно создаются большие приложения на Spring WebFlow в связке с MVC и Java Server Faces.

 

 

Некоторые скриншоты видеокурса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дополнительные материалы

Помимо видеоуроков и исходных кодов - вы получите все презентации из уроков в формате PDF.

 

Это нужно для более удобного восприятия материалов.

 

Вы сможете в любое время открыть нужный уроки и вспомнить его назначение.

 

 

Технические данные

6 Длительность, часов
1.2 Объем, Гб
27 Уроков
22 Исходников

Видеокурс открывается на любой операционной системе. Все исходные коды даются в готовом виде для IDE Eclipse.

Вы можете использовать любую среду разработки, но тогда придется конвертировать проект вручную.

 

Пример из курса видеоурока вы можете скачать ниже:

 

 

СТОИМОСТЬ

 

  • Минимум
  • 3900 рублей
  • Видеоуроки
  • Исходники
  • Презентации
  • Купить
  • Расширенный
  • 4500 рублей
  • Видеоуроки
  • Исходники
  • Презентации
  • Закрытая группа
  • Вебинары
  • Проверка исходных кодов
  • Дополнительные материалы
  • * Бесплатно: тренинг по трудоустройству
  • Купить
  • Все включено
  • 7500 рублей
  • Видеоуроки
  • Исходники
  • Презентации
  • Закрытая группа
  • Вебинары
  • Проверка исходных кодов
  • Дополнительные материалы
  • * Бесплатно: тренинг по трудоустройству
  • 2 индивидуальных консультации
  • Купить

 

Инструкция по оплате:

 

1) выбираете нужный комплект и нажимаете кнопку "Купить"
2) вводите данные: почта, имя, телефон
3) выбираете способ оплаты (его можно изменить в любое время по ссылке из письма)
4) оплачиваете удобным вам способом
5) получаете в течение 24-х часов ссылки на почту
6) если письмо не приходит - проверьте папку СПАМ

 

Вопросы читателей

Что нужно знать переда началом изучения?

Желательно иметь знания в создании приложений Spring и Spring MVC (конфигурация, бины и пр.)

Также надо иметь опыт разработки на JSP и JSF.

И конечно же ООП - создание объектов.

Сколько времени уйдет на изучение курса?

Примерно около 2-х недель, если каждый день заниматься по 2 часа.

Многие изучают курс и за неделю - после этого создают свои проекты с помощью Spring WebFlow.

Запустится ли курс на MacOS

Да, курс работает на любой операционной системе.

Главное, чтобы были установлены видео кодеки, например klite.

Также необходим любой софт для открытия PDF файлов

 

 

Какая поддержка по курсу

Как обычно - закрытая группа ВКонтакте неограниченное время.

Вы сможете изучать курс в любом удобном для вас ритме и задавать вопросы.

 

Также проведем пару онлайн вебинаров, чтобы можно было пообщаться вживую, задать вопросы.