Spring Framework [Slurm] [Слерм]
Зачем изучать Spring Framework
Spring Framework — де-факто стандарт разработки промышленных приложений для языка Java
Более 90% вакансий Java-разработчика требуют знания Spring Framework
Spring Framework это ваш мостик к интересным проектам и крутым компаниям
Почему учить Spring Framework стоит именно в Слёрм
Мы не понаслышке знаем и регулярно видим, как много разработчиков просто машинально используют Spring Framework, даже не вникая в его возможности. Все бы ничего, но когда возникает проблема или не шаблонная задача, они не понимают, куда смотреть и что делать.
Мы решили исправить это недоразумение. На курсе разберём все нюансы работы с фреймворком Spring и рассмотрим различные сценарии его использования. С домашними заданиями, практикой и онлайн-встречами с преподавателем — все, как вы любите.
Просто посмотреть и забыть не получится
Курс ориентирован на Java разработчиков уровня Junior+ и Middle
Мы надеемся, что у вас есть
Зачем изучать Spring Framework
Spring Framework — де-факто стандарт разработки промышленных приложений для языка Java
Более 90% вакансий Java-разработчика требуют знания Spring Framework
Spring Framework это ваш мостик к интересным проектам и крутым компаниям
Почему учить Spring Framework стоит именно в Слёрм
Мы не понаслышке знаем и регулярно видим, как много разработчиков просто машинально используют Spring Framework, даже не вникая в его возможности. Все бы ничего, но когда возникает проблема или не шаблонная задача, они не понимают, куда смотреть и что делать.
Мы решили исправить это недоразумение. На курсе разберём все нюансы работы с фреймворком Spring и рассмотрим различные сценарии его использования. С домашними заданиями, практикой и онлайн-встречами с преподавателем — все, как вы любите.
Просто посмотреть и забыть не получится
Курс ориентирован на Java разработчиков уровня Junior+ и Middle
Мы надеемся, что у вас есть
- Навыки программирования на Java (ООП, стандартная библиотека, основы многопоточности, JDBC, Maven, IntelliJ IDEA)
- Опыт работы с системой контроля версий Git и сервисом GitHub/GitLab
- Навыки работы с SQL (PostgreSQL)
- Навыки работы с Docker
- Знание протокола HTTP
Программа
Модуль 1. Jakarta EE (Java EE) и Spring Framework
• Servlets
• Filters
• Servlet Context
• Multithreading
3. Основы безопасности:
• Конфиденциальность, доступность, целостность
• Идентификация, аутентификация, авторизация
• Криптография
• Безопасность в Java, Jakarta EE
Реализация проекта:веб-сервис на базе Jakarta Servlet (сборка Docker Image).
Цели:
• Понять место Spring в экосистеме Java и взаимосвязь с Jakarta EE;
• Написать полноценное приложение без Spring для понимания того, какие задачи и проблемы решает Spring.
Результат:реализуем полноценное веб-приложение без Spring Framework.
Модуль 2. Spring Framework
• BeanFactory
• Жизненный цикл бина
• Autowiring
• *PostProcessor, *Aware и т.д.
6. Spring Context:
• ApplicationContext
• Конфигурирование: XML Config, Java Config, Annotation Config, Programmatic Config
Реализация проекта:интеграция Spring Context в веб-сервис.
Цели:
• Понять предназначение основных библиотек Spring Framework;
• Разобрать устройство Spring Context и его жизненного цикла;
• Научиться на практике использовать Spring Context.
Результат:перепишем веб-сервис с использованием Spring Context.
Модуль 3. Spring MVC
Цели:
• Разобрать устройство и принципы работы Spring MVC;
• Научиться на практике использовать Spring MVC;
• Научиться расширять функциональность, добавляя собственные классы.
Результат:внедрим Spring MVC в наш веб-сервис.
Модуль 4. Spring Boot
Цели:
• Понять предназначение Spring Boot и его устройство;
• Научиться добавлять собственные автоконфигурации.
Результат:разобьем проект на модули и переедем на Spring Boot.
Модуль 5. AOP, JDBC, TX, Validation
• Programmatic
4. Валидация данных
Реализация проекта:внедрение в проект транзакций и валидации данных
Цели:
• Разобрать AOP и посмотреть его применение;
• Научиться работать с транзакциями через Spring;
• Рассмотреть механизмы валидации входных данных.
Результат:добавим в наш веб-сервис AOP, транзакции и валидацию входных данных.
Модуль 6. RESTful веб-сервисы
1.REST и Richardson Maturity Model
Цели:
• Рассмотреть плюсы и минусы REST (на разных уровнях зрелости);
• Научиться грамотно обрабатывать исключения;
• Научиться работать с бинарными данными (файлами).
Результат:реализуем в нашем проекте обработку исключений, загрузку и отдачу файлов
Модуль 1. Jakarta EE (Java EE) и Spring Framework
- Jakarta EE (Full Profile, Web Profile) и Spring Framework
- Jakarta EE Servlets:
• Servlets
• Filters
• Servlet Context
• Multithreading
3. Основы безопасности:
• Конфиденциальность, доступность, целостность
• Идентификация, аутентификация, авторизация
• Криптография
• Безопасность в Java, Jakarta EE
Реализация проекта:веб-сервис на базе Jakarta Servlet (сборка Docker Image).
Цели:
• Понять место Spring в экосистеме Java и взаимосвязь с Jakarta EE;
• Написать полноценное приложение без Spring для понимания того, какие задачи и проблемы решает Spring.
Результат:реализуем полноценное веб-приложение без Spring Framework.
Модуль 2. Spring Framework
- Предпосылки появления
- Dependency Injection/Dependency Lookup
- Inversion Of Control
- Spring Core (Reflection, ASM, CGLib, Objenesis)
- Spring Beans:
• BeanFactory
• Жизненный цикл бина
• Autowiring
• *PostProcessor, *Aware и т.д.
6. Spring Context:
• ApplicationContext
• Конфигурирование: XML Config, Java Config, Annotation Config, Programmatic Config
Реализация проекта:интеграция Spring Context в веб-сервис.
Цели:
• Понять предназначение основных библиотек Spring Framework;
• Разобрать устройство Spring Context и его жизненного цикла;
• Научиться на практике использовать Spring Context.
Результат:перепишем веб-сервис с использованием Spring Context.
Модуль 3. Spring MVC
- Dispatcher Servlet
- Путь обработки запроса
- *Mappers, *Adapters, *Handlers, *Resolvers
- Аннотации Spring MVC
- Spring WebMVC.fn
- Вопросы построения API
Цели:
• Разобрать устройство и принципы работы Spring MVC;
• Научиться на практике использовать Spring MVC;
• Научиться расширять функциональность, добавляя собственные классы.
Результат:внедрим Spring MVC в наш веб-сервис.
Модуль 4. Spring Boot
- Предпосылки появления
- BOM
- Автоконфигурация, внутреннее устройство
- @Conditional*
- Externalized Config
- Maven/Gradle plugins
Цели:
• Понять предназначение Spring Boot и его устройство;
• Научиться добавлять собственные автоконфигурации.
Результат:разобьем проект на модули и переедем на Spring Boot.
Модуль 5. AOP, JDBC, TX, Validation
- Aspect Oriented Programming
- Работа с JDBC
- Транзакции:
• Programmatic
4. Валидация данных
Реализация проекта:внедрение в проект транзакций и валидации данных
Цели:
• Разобрать AOP и посмотреть его применение;
• Научиться работать с транзакциями через Spring;
• Рассмотреть механизмы валидации входных данных.
Результат:добавим в наш веб-сервис AOP, транзакции и валидацию входных данных.
Модуль 6. RESTful веб-сервисы
1.REST и Richardson Maturity Model
- OpenAPI
- Обработка исключений
- Работа с файлами
Цели:
• Рассмотреть плюсы и минусы REST (на разных уровнях зрелости);
• Научиться грамотно обрабатывать исключения;
• Научиться работать с бинарными данными (файлами).
Результат:реализуем в нашем проекте обработку исключений, загрузку и отдачу файлов
https://slurm.io/spring-framework