Программа курса
Архитектура современных приложений - Микросервисы, SPA приложения
- Общая архитектура стандартного сервера приложений JEE. Инсталляция сервера, управление службами и сервисами. Консоль управления сервером для решения тестовых задач разработчика.
- Почему мы используем SPRING для создания серверных приложений. Сравнение технологий SPRING с технологиями JEE
Основы Spring Framework.
- Введение в Spring Framework;
- Архитектура каркаса;
- Компонентная модель Spring.
Spring Boot.
- Соглашения над конфигурацией: Spring Boot Starters
- Использование Web сервера в качестве контейнера серверного приложения tomcat/undertow(на примере Wildfly сервера)
- Конфигурация и конфигурации по умолчанию
- Java конфигурации
- Создание классов конфигурации компонентов Spring
- Предыинициализация классов конфигурации из файлов *.properties и .yml
- Чтение конфигурации из environment
- Использование распределённой конфигурации из Spring Cloud Config
- Классическая конфигурация на XML
Spring DI & IOC
- Что это?
- Концепция Бина
- Бины как разделяемые сервисы
- Время жизни и жизненный цикл бина
- Баовые аннотации Spring
- @Bean
- @Service
- @Component
- @Configuration
- @PostConstruct
- etc.
- Способы создания бинов:
- Через метод
- Через конструктор
- Декларативно
- Императивно
- Автосвязывание
- Управление порядком загрузки бинов
Spring Data
Абстракции доступа к данным в Spring
- Spring Data
- Spring Data Adapters (JPA, Postgresql)
- Spring JDBC Template
- Реализация пула соединений с базой данных Postgresql с использованием SPRING и сравнеие с класическим пулом на основе JEE Wildfly сервера
JPA
- Entity Manager - абстрактный механизм управления данными в реляционных базах данных
- Методы и интерфейсы Entity Manager
- Выполнение стандарных DML операций в базе данных с использованием EM
- Аннотации JPA
- Транзакции и блокировки
- JPQL (JPA Query Language)
- @Query и @NativeQuery
- Проблемы возвращения результатов в жёстко типизированной Java
- Различие EM и Spring Repository
- Отображение поисковых запросов JPA на методы поиска в интерфейсе репозитория Spring Data
RESTful Web сервисы
- RESTful архитектура и ее применение к web сервисам
- Проектирование RESTful web сервиса и определение ресурсов
- Выбор правильного HTTP метода в случае, когда нужно избегать дублирования запросов
- Определение статуса результата Web сервиса по коду HTTP отклика
- Версионирование RESTful web сервисов
Взаимодействие с другими ресурсами масштаба предприятия из SPRING приложений
- KAFKA сервер
- Apache Active MQ сервер
- Организация доступа - дополнительные библиотеки
- Асинхронное взаимодействие