Spring Framework - Архитектура

Spring потенциально может быть универсальным магазином для всех ваших корпоративных приложений. Однако Spring является модульной, что позволяет вам выбирать, какие модули подходят вам, без необходимости добавлять остальные. В следующем разделе представлены сведения обо всех модулях, доступных в Spring Framework.

Spring Framework предоставляет около 20 модулей, которые можно использовать в зависимости от требований приложения.

Основной контейнер

Основной контейнер состоит из модулей Core, Beans, Context и Expression Language, подробности которых следующие:

  • В Core Модуль предоставляет основные части фреймворка, включая функции IoC и Dependency Injection.

  • В Bean Модуль предоставляет BeanFactory, которая представляет собой сложную реализацию фабричного шаблона.

  • В ContextМодуль построен на прочной основе, предоставляемой модулями Core и Beans, и является средой для доступа к любым определенным и настроенным объектам. Интерфейс ApplicationContext является центральным элементом модуля Context.

  • В SpEL Модуль предоставляет мощный язык выражений для запросов и управления графом объекта во время выполнения.

Доступ к данным / интеграция

Уровень доступа к данным / интеграции состоит из модулей JDBC, ORM, OXM, JMS и Transaction, детали которых следующие:

  • В JDBC Модуль предоставляет уровень абстракции JDBC, который устраняет необходимость в утомительном кодировании, связанном с JDBC.

  • В ORM Модуль предоставляет уровни интеграции для популярных API объектно-реляционного сопоставления, включая JPA, JDO, Hibernate и iBatis.

  • В OXM Модуль предоставляет уровень абстракции, который поддерживает реализации сопоставления Object / XML для JAXB, Castor, XMLBeans, JiBX и XStream.

  • Служба обмена сообщениями Java JMS Модуль содержит функции для создания и использования сообщений.

  • В Transaction модуль поддерживает программное и декларативное управление транзакциями для классов, реализующих специальные интерфейсы, и для всех ваших POJO.

Интернет

Веб-уровень состоит из модулей Web, Web-MVC, Web-Socket и Web-Portlet, детали которых следующие:

  • В Web Модуль обеспечивает базовые функции интеграции, ориентированные на веб-интерфейс, такие как функция загрузки нескольких файлов и инициализация контейнера IoC с использованием слушателей сервлетов и контекста веб-приложения.

  • В Web-MVC Модуль содержит реализацию Spring Model-View-Controller (MVC) для веб-приложений.

  • В Web-Socket Модуль обеспечивает поддержку основанной на WebSocket двусторонней связи между клиентом и сервером в веб-приложениях.

  • В Web-Portlet Модуль предоставляет реализацию MVC для использования в среде портлетов и отражает функциональность модуля Web-Servlet.

Разное

Есть несколько других важных модулей, таких как АОП, аспекты, инструменты, веб-модули и модули тестирования, детали которых следующие:

  • В AOP Модуль предоставляет реализацию аспектно-ориентированного программирования, позволяющую вам определять методы-перехватчики и pointcuts для четкого разделения кода, реализующего функциональность, которая должна быть разделена.

  • В Aspects Модуль обеспечивает интеграцию с AspectJ, который снова является мощным и зрелым фреймворком АОП.

  • В Instrumentation Модуль обеспечивает поддержку инструментария классов и реализации загрузчика классов для использования на определенных серверах приложений.

  • В Messagingмодуль обеспечивает поддержку STOMP в качестве подпротокола WebSocket для использования в приложениях. Он также поддерживает модель программирования аннотаций для маршрутизации и обработки сообщений STOMP от клиентов WebSocket.

  • В Test модуль поддерживает тестирование компонентов Spring с помощью фреймворков JUnit или TestNG.