Голосов: 0
#1
Наиболее востребованные технологии /инструменты / фреймворки Java:
Maven/ Spring/ Security/ JPA(Hibernate)/ Rest(Jackson)/ Bootstrap(CSS)/ jQuery + plugins
Внимание! Данная складчина закрыта. Всем желающим получить материал, просьба участвовать в повторах данной складчины.
Описание:
- На тренинге последовательно разрабатывается полнофункциональное Spring приложение c авторизацией и правами доступа на основе ролей, используя инструменты/ библиотеки/ фреймворки: Maven, Spring Security, Spring MVC, Spring Data JPA, Spring Security Test, Hibernate ORM, Hibernate Validator, SLF4J, Json Jackson, JSP, JSTL, Apache Tomcat, WebJars, Dandelion DataTables, Ehcache, PostgreSQL, HSQLDB, JUnit, Hamcrest, Mockito, JsonPath, jQuery, Jeditable, jQuery notification, Bootstrap.
- Основное внимание будет уделяться способам решения многочисленных проблем разработки в Spring, а также структурному (красивому и надежному) java кодированию и архитектуре приложения.
План вебинара
- Каждое занятие в закрепляется домашним заданием по реализации схожей функциональности. Следующее занятие начинается с разбора домашних заданий.
- Обзор используемых на вебинаре технологий. Интеграция ПО.
- Системы управления версиями
- Maven
- Логгирование
- Архитектура приложения Spring. Создание каркаса приложения
- Обзор Spring Framework. Spring Context
- Тестирование. Spring Test
- Базы данных. Spring JDBC
- Spring ORM. JPA. Hibernate. Конфигурирование доменной модели
- Реализация через JPA. Транзакции
- Насторойка пула коннектов
- Spring Data JPA
- Кэширование
- Spring Web. Конфигурирование Tomcat
- Spring Web MVC
- Тестирование Spring MVC
- Реализация Rest API
- Тетсирование Rest контроллеров
- WebJars. Bootstrap. Dandelion-Datatables
- AJAX. jQuery.
- Spring Security
- Spring Security Test
- Авторизация/ регистрация. JSP based tag.
- Dandelion Bundle. Настройка библиотек JavaScript.
- Работа с Dandelion Datatables через Ajax.
- Обработка исключений
- Деплой в PaaS-платформу Heroku
- Ресурсы
Обзор используемых на вебинаре технологий. Интеграция ПО.
Системы управления версиями
- Библиотека vs Фреймворк. Стандартные библиотеки Apache Commons, Guava
- Обзор популярности инструментов и технологий Java за 2014 г.
- Приложение Spring Pet Clinic. Demo
- По следам Spring Pet Clinic. Maven/ Spring Context/ Spring Test/ Spring ORM/ Spring Data JPAs
- Интеграция ПО с IntelliJ IDEA
Maven.
Распределённые системы управления версиями. Git.
- Среда сборки проектов Maven.
- The Central Repository
- Maven archetype. Создание проекта на основе maven-archetype-webapp. Сборка проекта.
- Настройка пропертей Maven: кодировка, java version, зависимости, maven-compiler-plugin
- Build Lifecycle.
- Dependency Mechanism
- Зависимости, профили
- The Reactor. Snapshots
- Недостатки Maven. Другие инструменты сборки.
- Веб-контейнер Tomcat. Деплой в Tomcat и динамическое обновление.
Логгирование.
Ресурсы:- Maven: The Complete Reference
- Автоматизация сборки проекта
- Repository management Nexus
- Appfuse project (archetype appfuse)
- Bintray: gateway to Maven Central
- Системы логгирования: java.util.logging, common-logging,Logback, SLF4J, Log4J. Ведение лога приложения
- Добавление зависимостей логгирования в проект.
- Log4j vs Logback. Анализ зависимостей проекта.
- Конфигурирование логгирования. Создание обертки логгирования. Настройка Live Template.
- Интеграция IDEA с Tomcat, деплой.
- Тестирование логирования в сервлете. Переменная окружения TOPJAVA_ROOT.
- Управление логгированием по JMX.
- Контекст приложения. Деплой в Tomcat без IDE. Remote debug.
Архитектура приложения Spring. Создание каркаса приложения.
- Архитектурные слои приложения в Spring
- Инверсия управления.DI/ Service Locator
- Доменная модель приложения
- Паттерн DTO. Value Object и Data Transfer Object
- Паттерны Repository и DAO
- Разбиение на пакеты по слоям и бизнес логике. Создание каркаса приложения.
Обзор Spring Framework. Spring Context.
Ресурсы:- Паттерн "Слои приложения".
- Справочник «Паттерны проектирования»
- Catalog of Patterns of Enterprise Application Architecture
- Доработка API
- Проекты Spring. Spring Roo
- Обзор Spring Framework
- Добавление Spring в проект. Контекст Spring-а. BeanFactory. Запуск ApplicationContext. BeanDefinitionNames
- Инжекция через аннотации. Required. JSR 250. PostConstruct/ PreDestroy.
- Сканирование компонентов. Стереотипы.
- Spring изнутри. Этапы инициализации контекста.
Тестирование. Spring Test.
Ресурсы:- Евгений Борисов. Spring, часть 1
- Евгений Борисов. Spring, часть 2
- Презентация Spring framework core
- Introduction to the Spring IoC container and beans
- Обзор Spring Roo
- Getting Started
- Spring Framework Reference Documentation
- Spring на GitHub
Базы данных. Spring JDBC
- Тестирование через JUnit.
- Интеграция Spring и JUnit.
- Подмена контекста при тестировании
- Группирование конфигурации Spring через import
- NoSQL or RDBMS.Обзор NoSQL систем. CAP
- Обзор Java persistence solution без ORM: commons-dbutils, Spring JdbcTemplate, MyBatis
- Скрипты инициализация базы
- Тестирование используя in-memory HSQLDB. Преимущества/недостатки
- Профили Spring
- Настройка Database в IDEA и запуск SQL.
- Подключение Spring Jdbc.
- Конфигурирование DataSource. property-placeholder. Профили Spring
- Инициализация базы при старте приложения
- JdbcTemplate. Имплементация JdbcUserRepository
- Подготовка тестовых данных для UserServiceTest
- Инициализация базы из java. Абстракция Resource
- Имплементация equals/hashCode. Тестирование UserService
- Починка UserAdminRestTest: mock конфигурация.
Spring ORM. Hibernate. JPA.
- ORM. Mapping. Описания модели Hibernate (hbm.xml/annotation)
- Hibernate. Другие ORM: TopLink, ElipseLink, EBean (used in Playframework).
- JPA. JPA Performance Benchmark
- Подключение к проекту Spring ORM и Hibernate
- Отображения наследования объектов на таблицы
- Стратегии генерации PK
- Добавление hibernate-validator. JSR-303 -> JSR-349
- Описание связей в модели. Ленивая загрузка объекта.
- Конфигурирование JPA. Сканировние Entities. JPA definitions
- Выражения в конфигурации
- Создание JPA Facet. Назначение DataSource.
Реализация работы с DB через JPA. Транзакции.
Ресурсы:- Java Persistence
- Hibernate
- Имплементация JpaUserRepository через EntityManagerFactory/ SessionFactory
- Использование TypedQuery и @NamedQuery. Назначение параметров по индексу и имени.
- HQL/ JPQL. ER Diagram/ DB Diagrem. JPA/ Hibernate Console.
- JPA Criteria API. Unified Queries for Java
- Тестирование через наследование.
- Транзакция. ACID. Уровни изоляции транзакций. MVCC
- Подключаем транзакции. Spring Transaction Management
- Стратегии использования @Transactional в слоях Repository/Service
- Использования @Transactional для тестов. Влияние в тестах @Transactional и debug.
- readOnly и Propagation.SUPPORTS
- Обновление схемы DB по доменной модели
Насторойка пула коннектов.
Ресурсы:- Стратегии работы с транзакциями: Распространенные ошибки
- Принципы работы СУБД. MVCC
Spring Data JPA
- Выбор реализации пула коннектов: BoneCP, Commons Database Connection Pooling, Tomcat pool
- Добавление tomcat-jdbc в проект
- Замена AbstractDAO: JPA Repositories.
- Разрешение зависимостей: Maven BOM [Bill Of Materials] Dependency
- Стратегия проксирование Repository.
- Делегирование. @Modifying/
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.