Java Spring Framework
Зачем
Универсальный фреймворк с открытым исходным кодом для Java-платформы. Обеспечивает базовую поддержку управления зависимостями, управление транзакциями веб-приложений, доступ к данным, обмен сообщениями.
Типы приложений: Веб, декстоп, мобильный, консольные
Модули
- Spring Core:
- AOP
- IoC (DI)
- Component Abstraction
- i18n
- Spring Web: позволяет предоставлять API для потребителя
- Spring Web MVC: реализация паттерна MVC
- Spring Test: предоставляет инструментарий для написания
- юнит
- интеграционных тестов
- mock-объекты
- Spring MVC Test
- Spring Data (DAO):
- работает с различными видами баз данных, как SQL, так и NoSQL
- транзакции
- поддержка DAO, JDBC, ORM
- Repository
- Spring Security: аутентификация, авторизация
- Spring Integration:
- интегрирует приложения компании в единую систему
- удалённое взаимодействие
- JMS, JCA, JMX
- электронная почта
- задачи, планирование
- кеш
- Spring Boot:
- конфигурация
- сборка, запуск приложений, веб-сервер Tomcat
- проверка работоспособности
- использование внешней конфигурации
- сбор метрик
- Spring State Machine
- Spring Cloud: много полезных инструментов для микросервисов и распределённых систем
- Spring Batch: для пакетной обработки данных
- Spring LDAP
- Spring Roo: используют для создания бизнес-приложений. На его основе можно создать многофункциональный пользовательский интерфейс
Плюсы-минусы
Плюсы:
- Универсальность
- Популярность
- Открытый исходный код
Минусы:
- Сложность
- Объем кода
- Неиспользуемые зависимости
Функции
- Бин - объект какого-то класса
- Application context - набор бинов (объектов)
- Автоматическая конфигурация
- dependency injection
TODO
https://client.sbertech.ru/docs/public/SEI/3.11/ASGT/3.11.0-1/documents/developer-guide/index.html
Deployment
- Test Project