Новая версия видеокурса по созданию веб проекта на Java с применением технологий Spring Framework, Hibernate, Gradle c подробными комментариями по всему коду.
Основные цели курса
- научить вас по шагам создавать крупный веб проект на основе Spring
- проводить интеграцию Spring с другими технологиями (Hibernate, JSF, Gradle)
- использовать Spring Boot в веб приложении для быстрой настройки и сборки проекта
- применять Hibernate вместе с Spring Data для ускорения разработки слоя доступа к данным
- разделять веб приложение на слои (backend и frontend)
- создавать API для backend, чтобы им мог пользоваться любой клиентский фреймворк
- добавлять безопасность в Spring приложение (авторизация, SSL)
Упор на практику
Как и в первой версии курса - основной упор сделан на практику, чтобы вы пошагово могли выполнять все исходные коды и получать результат. В новом курсе даже больше практики, т.к. используется в основном Spring, а на нем мы еще не делали крупных практических курсов.
Начиная с первых уроков вы сразу начнете создавать проект и последовательно добавлять функционал. В конце у вас получится один большой работающий веб-проект.
Совсем без теории конечно не получится, но каждую темц надо будет сразу закреплять на практике.
Судя по отзывам учеников - такой подход дает максимальные результаты.
Почему веб проекты Java лучше создавать на Spring?
В первую очередь Spring освобождает разработчика от рутинного кода, тем самым ускоряя создание любого веб приложения на Java.
Например, с помощью Spring Data вы можете легко создать слой работы с БД и не отвлекаться на использование JDBC API. Ваш код будет "чистым" и понятным.
Вообще изначально одна из целей этого фреймворка - это упрощение создания кода Java.
Новичкам и тем, кто привык к стандартному Java, может показаться, что это не так. Но на самом деле, когда у вас будет достаточный опыт в Spring вы поймете - скорость разработки увеличивается во много раз.
Также, многие современные фреймворки имеют хорошую интеграцию со Spring, поэтому его можно безбоязненно использовать. Разработчики Spring всегда держат руку на пульсе событий и стараются поддерживать все лучшие современные фреймворки.
Основной функционал библиотеки
Функционал обеспечивает необходимый минимум, чтобы обычный пользователь мог искать и просматривать книги, а администратор имел возможность добавления, редактирования, удаления.
Также отдельно была добавлена возможность работы со справочниками, чего не было в прошлой версии проекта.
- авторизация пользователя
- разделение по ролям
- редактирование/добавление книг
- постраничный вывод данных
- создание защищенных разделов
- редактирование справочников
- проверка логина и пароля
- применение Ajax
- переключение языков (русский и английский)
- поиск и просмотр книг
Дизайн приложения
Для проекта был применен дизайн в виде книжной полки и списка карточек, которые пришли из Google Material Design.
На полке будут располагаться наиболее популярные книги, а все остальные можно будет найти через поиск и отобразить в виде карточек.
Вы проведете верстку готового дизайна в компоненты JSF, чтобы все выглядело как на скриншоте.
В отличии от первой версии библиотеки - этот дизайн был взят из интернета и немного доработан специально для проекта.
Вы будете использовать элементарные знания по HTML и CSS, чтобы понять как была проведена верстка.
Инструменты
Даже если вы новичок - вам все равно сразу нужно приучаться работать с правильными инструментами, чтобы ускорить разработки приложений.
Для работы с курсом вы будете использовать среду разработки IntelliJ IDEA Ultimate Edition, сборщик проекта Gradle, Hibernate, Java Server Faces и сам Spring Framework.
Spring Framework
За основу вы возьмете фреймворк Spring, на нем будет создан весь backend. Вы поймете, насколько это удобней и быстрее, чем без использования Spring. Также включат все настройки безопасности, аутентификация и пр.
Java Server Faces
Популярная технология от Oracle, которая позволяет быстро создать клиентский слой приложения. Не обязательно знать JavaScript, чтобы использовать Ajax или создавать динамичные веб страницы.
IntelliJ IDEA
Вся разработка будет вестись в этой IDE, которая является в данный момент самой популярной средой для новичков и профессионалов Java. Вы будете использовать версию Ultimate (можно триальную).
Gradle
Универсальный сборщик, который позволит вам подключать все нужные зависимости Hibernate, настраивать проект и многое другое. Если вы не работали с ним ранее - вы научитесь основным действиям.
MySQL (Workbench)
Все таблицы будут находиться в этой СУБД, структура (дамп) будет предоставлена вам в готовом виде. Визуальный редактор - MySQL Workbench
Hibernate
Все запросы к БД и доступ к данным - через Hibernate. Spring позволяет легко настроить работу с ним и автоматически создает нужные запросы.
Lombok
Инструмент-утилита для сокрашения "лишнего" кода. Повышается читаемость и удобство создания. Используется внутри многих фреймворков в том числе Spring.
Bootstrap
Популярный фреймворк для работы с веб страницами. Будете использовать некоторые его возможности по разметке страниц.
В чем основное отличие этого курса?
Обычно в других курсах вы запускаете простые отдельные примеры, которые не позволяют собрать полную картину.
Здесь же - это один большой практический проект, где вы сможете применить все технологии Spring. Весь процесс показан с нуля по шагам, чтобы мог разобраться любой новичок.
Кроме этого, применяется уникальный дизайн для веб приложения, который вы сверстаете на клиентском уровне и соедините с backend'ом.
Минимальные знания
Для того, чтобы успешно пройти курс - вам нужны минимальные знания в некоторых направлениях.
ООП - понимание основных принципов разработки приложения на Java. Без этого никуда, особенно в Spring, где многие моменты построены на ООП, интерфейсах и пр.
Опыт в СУБД - создание и связывание таблиц, внешний и первичный ключи, элементарные действия - чтобы для вас не было сюрпризом, как создаются простые таблицы в СУБД. Вам будет дана готовая структура, чтобы не создавать все вручную с нуля.
JDBC - SQL - знать желательно, чтобы понимать что происходит при использовании Hibernate. Хотя вы будете создавать запросы в Hibernate и без знаний JDBC-SQL (с помощью Spring Data). Это относится к основам любого Java приложения.
Основы Spring Framework - мы не будем проходить с нуля все основы Spring, т.к. общее понимание что это такое у вас уже должно быть. У вас должен быть хотя бы небольшой опыт работы со Spring, внедрение зависимости, настройка и пр. Остальные моменты подробно будут показаны на практике.
Основы Java Server Faces - клиентскую часть будете делать на JSF, поэтому по нему тоже должен быть какой-то опыт. Хотя сама по себе эта технология не сильно сложная, многие даже разбираются по ходу изучения курса. Но лишний опыт не помешает.