Разбираемые темы:
Часть I. SPRING IOC (теория 7 ч, практика 2 ч, домашняя работа около 2 ч)
1. Обзор фреймворка Spring
История
Концепция IoC
Интерфейс ApplicationContext
Бины в Spring
2. Spring configuration
Конфигурация в XML
Конфигурация через аннотации
Конфигурация в коде (Java based)
Scope бинов
Жизненный цикл бина
3. События (Events)
Создание Event-а
Подписка на Event при помощи @EventListener
Фильтр Event-ов
Примеры использования
4. Локализация
5. Конфигурация профилей
6. Spring Expression Language
Часть II. SPRING BOOT (теория 1 ч, практика 1 ч)
1. Что такое Spring Boot
2. Основной стартер в POM (spring-boot-starter-parent)
3. Автоконфигурация
@SpringBootApplication
@ComponentScan
@Configuration
@EnableAutoConfiguration
4. Конфигурация
Command Line Properties
Application Property Files
Profile-specific Properties
Плейсхолдеры в Properties
YAML вместо Properties
Type-safe Configuration Properties
Использование @ConfigurationProperties
Third-party Configuration
Валидация @ConfigurationProperties
@ConfigurationProperties и @Value
Profiles
Часть III. SPRING AOP (теория 2 ч, практика 1 ч, домашняя работа около 2 ч)
1. Примеры использования AOP
2. Типы Аdvicе-ов
3. Язык Pointcut-ов
4. Объединение Aspects-ов
Часть IV. SPRING DATA (теория 8 ч, практика 3 ч, домашняя работа около 2 ч)
1. CrudRepository
2. JpaRepository
3. @EnableJpaRepositories
4. @EnableTransactionManagement
5. @Transactional
Timeout
Флаг Readonly
6. Объявление Query-методов
Стратегии создания SQL запроса
Cоздание SQL запроса
Property Expressions
Обработка специальных параметров
Ограничение результатов SQL запроса
Возвращение Collections или Iterables
Обработка Null в метдах репозитория
Streaming результатов SQL запроса
Асинхронная обработок SQL запроса
7. Использование @Query
Native SQL запроса
Сортировка
Использование именованных параметров
Использование SpEL
SQL запросы на изменение данных
8. Проекции
9. Хранимые процедуры
10. SQL запрос по примеру
11. @Transactional
12. Блокировки
Часть V. SPRING REST (теория 2 ч, практика 2 ч, домашняя работа около 1 ч)
1. REST-сервисы
2. Request и Response
3. Request-параметры
4. Path-параметры
5. HTTP-хидеры
6. Spring HATEOAS
7. Документация REST-сервисов при помощи Swagger
Часть VI. SPRING DATA REST (теория 1 ч)
1. Представление репозитория Spring Data как REST-сервис
2. Сортировка и постраничные запросы
3. HAL-браузер
4. Настройки Spring Data REST