|
| 1 | +#### Разработка полнофункционального Spring/JPA Enterprise приложения c авторизацией и правами доступа на основе ролей используя <a href="http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-for-2014/" target="_blank">наиболее популярные инструменты и технологии Java</a>: Maven, Spring, Security, JPA(Hibernate), REST(Jackson), Bootstrap, jQuery + plugins |
| 2 | +- Основное внимание будет уделяться способам решения многочисленных проблем разработки в Spring/JPA, а также структурному (красивому и надежному) java кодированию и архитектуре приложения. |
| 3 | +- Каждая итерация проекта в закрепляется домашним заданием по реализации схожей функциональности. Следующее занятие начинается с разбора домашних заданий. |
| 4 | +- Большое внимание уделяется тестированию кода: в проекте ~ 85 JUnit тестов. |
| 5 | +- Несмотря на относительно небольшой размер, приложение разрабатывается с нуля как большой проект (например мы используем кэш 2-го уровня Hibernate, настраиваем Jenkins для работы с ленивой загрузкой |
| 6 | +Hibernate, делаем конверторы для типов LocalDateTime (Java 8 time API), которые еще не поддерживаются ни JPA/Hibernate, ни Jackson/json). |
| 7 | + Разбираются архитектурные паттерны: слои приложения и как правильно разбивать логику по слоям, когда нужно применят Data Transfer Object. |
| 8 | + Т.е на выходе получается не учебный проект, а хорошо маштабируемый шаблон для большого проекта на всех пройденных технологиях. |
| 9 | +- Большое внимание уделяется деталям: популяция базы, использование транзакционности, тесты сервисов и REST |
| 10 | + контроллеров, насторойка EntityManagerFactory, |
| 11 | + выбор реализации пула коннектов. Особое внимание уделяется работе с базой: через Spring JDBC, Spring ORM и |
| 12 | + Spring Data Jpa. |
| 13 | +- Используются самые востребованные на сегодняшний момент фреймворки: Maven, Spring Security 4 |
| 14 | + вместе с Spring Security Test, наиболее удобный для работы с базой проект Spring Data Jpa, библиотека логирования logback, реализующая SLF4J, повсеместно используемый Bootstrap и jQuery. |
| 15 | + |
| 16 | +## Архитектура проекта. Персистентность. |
| 17 | +- Системы управления версиями |
| 18 | +- Java 8: Lambda, Stream API |
| 19 | +- Обзор используемых в проекте технологий и инструментов. |
| 20 | +- Maven, другие инструменты сборки. |
| 21 | +- WAR. Веб-контейнер Tomcat. Сервлеты. |
| 22 | +- Логирование. |
| 23 | +- Обзор стандартных библиотек. Apache Commons, Guava |
| 24 | +- Слои приложения. Создание каркаса приложения. |
| 25 | +- Обзор Spring Framework. Spring Context. |
| 26 | +- Тестирование через JUnit. |
| 27 | +- Spring Test |
| 28 | +- Базы данных. PostgreSQL. Обзор NoSQL и Java persistence solution без ORM. |
| 29 | +- Настройка Database в IDEA. |
| 30 | +- Скрипты инициализации базы. Spring Jdbc Template. |
| 31 | +- Spring: инициализация и популирование DB |
| 32 | +- ORM. Hibernate. JPA. |
| 33 | +- Поддержка HSQLDB |
| 34 | +- Транзакции |
| 35 | +- Профили Maven и Spring |
| 36 | +- Пул коннектов |
| 37 | +- Spring Data JPA |
| 38 | +- Spring кэш |
| 39 | +- Кэш Hibernate |
| 40 | + |
| 41 | +## Разработка WEB |
| 42 | +- Spring Web |
| 43 | +- JPS, JSTL, i18n |
| 44 | +- Tomcat maven plugin. JNDI |
| 45 | +- Spring Web MVC |
| 46 | +- Spring Internationalization |
| 47 | +- Тестирование Spring MVC |
| 48 | +- REST контроллеры |
| 49 | +- Тестирование REST контроллеров. Jackson. |
| 50 | +- jackson-datatype-hibernate. Тестирование через матчеры. |
| 51 | +- Тестирование через SoapUi. UTF-8 |
| 52 | +- WebJars. Dandelion bundles |
| 53 | +- Bootstrap. Datatables. |
| 54 | +- AJAX. jQuery. Notifications. |
| 55 | +- Spring Security |
| 56 | +- Spring Binding/Validation |
| 57 | +- Работа с Datatables через Ajax. |
| 58 | +- Spring Security Test |
| 59 | +- Encoding password |
| 60 | +- CSRF |
| 61 | +- form-login. Spring Security Taglib |
| 62 | +- Handler interceptor |
| 63 | +- Spring Exception Handling |
| 64 | +- Деплой в Heroku |
0 commit comments