Среда для создания веб-приложений Java на основе шаблона Model-View-Controller (MVC). Это продвигает гибкий и отделенный код от базовых технологий представления.

Spring MVC- это основанная на действии (в отличие от основанной на компонентах) веб-инфраструктура, построенная поверх Spring IOC Container. MVC расшифровывается как Model View Controller, давний шаблон проектирования, который разделяет приложение, отделяющее проблемы представления от бизнес-логики, см. Запись MVC репозитория Portland Pattern Repository.

Последняя стабильная версия - 5.1.4, выпущенная в январе 2019 года, а текущие документы можно найти в раздел MVCSpring Reference .

Spring версии 5.0 полностью поддерживает функции Java 9, теперь для этого выпуска требуется Java SE 8.

Основные весенние релизы

  • Первый выпуск: 2004 год
  • Spring 2.0: встроенная xmlпространства имен и aspectjподдержка.
  • Spring 2.5: конфигурация на основе аннотаций
  • Spring 3.0: прочная основа Java 5+ для всей среды, введена модель @Configuration
  • Spring 3.2: представлена конфигурация на основе Java
  • Spring 4.0: поддержка Java 8, удалены устаревшие классы.
  • Spring 5.0: поддержка Java 9, поддержка реактивного программирования

Spring Framework включает в себя несколько модулей, которые предоставляют ряд услуг:

  • spring-iocКонтейнер инверсии управления: настройка компонентов приложения и управление жизненным циклом javaобъектов , делается в основном через внедрение зависимостей
  • spring-aopАспектно-ориентированное программирование: позволяет реализовать сквозные процедуры
  • spring-dataДоступ к данным: работа с системами управления реляционными базами данных на javaс использованием jdbc и инструменты объектно-реляционного отображения и с nosql
  • spring-transactionsУправление транзакциями: объединяет несколько API-интерфейсов управления транзакциями и координирует транзакции для объектов Java
  • spring-mvcModel-view-controller: платформа на основе HTTP и сервлетов, обеспечивающая ловушки для расширения и настройки для веб-приложений и веб-служб RESTfull.
  • spring-remotingИнфраструктура удаленного доступа: настраиваемый экспорт в стиле RPC и импорт объектов Java по сетям, поддерживающим rmi, corbaи протоколы на основе HTTP, включая веб-службы (soap)
  • Конвенция сверх конфигурации: решение для быстрой разработки приложений для корпоративных приложений на основе Spring предлагается в модуле spring-roo
  • spring-batchПакетная обработка: платформа для обработки большого объема, включающая многократно используемые функции, включая ведение журнала / трассировку, управление транзакциями, статистику обработки задания, перезапуск задания, пропуск, и управление ресурсами
  • Аутентификация и авторизация: настраиваемые процессы безопасности, которые поддерживают ряд стандартов, протоколов, инструментов и практик через подпроект Spring Security (ранее - Acegi Security System для spring) ,
  • spring-remotingУдаленное управление: конфигурирование и управление объектами Java для локальной или удаленной настройки с помощью jmx.
  • spring-messaging Обмен сообщениями: настраиваемая регистрация объектов прослушивателя сообщений для прозрачного потребления сообщений из очередей сообщений через jms, улучшена отправка сообщений - стандартные jmsAPI
  • spring-testТестирование: поддержка классов для написания юнит-тестов и интеграционных тестов