Рефакторинг Web приложения - IShop
Изучение принципов работы фреймворков Spring, Spring Data, Hibernate
Description
Данный курс предназначен для изучение принципов и правил работы популярных в Java мире фреймворков таких как Spring, Spring Data, JPA. На примере работающего проекта в ходе 10 занятий будут рассмотрены типовые проблемы с которыми сталкивается профессиональный Java разработчик при создании проектов. Будут рассмотрены возможности Java Reflection и каким образом используя данные возможности программист может создать универсальный код, который может быть повторно использован в любом проекте. Таким образом данный курс направлен на создание универсального алгоритма, которым разработчик может пользоваться при создании других проектов.
В рамках курса будут рассмотрены принципы работы ORM фреймворков (объектно-реляционного отображения), фреймворков по внедрению зависимостей (IoC, Dependency Injection), декларативное управление соединениями и транзакциями на базе АОП (аспектно ориентированного подхода), а также шаблон проектирования Repository (DAO) на примере создания фреймворка devstudy.
Обязательным условием успешного прохождения данного курса должно быть успешно пройденный курс Web приложение - IShop, так как данный курс рассматривает проблемы, с которыми столкнется Java разработчик при изменении или расширении web приложения IShop, а также при написании нового web приложения. Очень сложно понять преимущества какого-либо подхода к решению проблемы, не поняв суть проблемы, поэтому рекомендуется сначала написать web проект, а потом его рефакторить!
Создание простого фреймворка devstudy позволит упрощенно показать каким же образом работают такие монстры как Spring, Spring Data, JPA, Hibernate. После создания самописного фреймворка devstudy, который решает указанные проблемы, на последнем занятии будут приведены общедоступные аналоги фреймворков для решения тех же проблем: Spring, Spring Data, JPA, которые затем будут добавлены в проект вместо фреймворка devstudy, чтобы продемонстрировать пример их использования на текущем проекте.
What You Will Learn!
- Отделять бизнес логику от логики хранения данных;
- Использовать возможности Java Reflection для объектно-реляционного отображения;
- Создавать динамические репозитории с помощью механизма Proxy;
- Декларативно управлять соединения и транзакциями. Познакомитесь с основами АОП;
- Создавать отдельные сервисы и управлять зависимостями между ними;
- Использовать принципы SOLID на практике.
Who Should Attend!
- Данный курс предназначен для изучение принципов и правил работы популярных в Java мире фреймворков таких как Spring, Spring Data, JPA.