Учебники

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

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

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

Spring Framework Architecture

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

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

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

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

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

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

Модуль 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 предоставляет уровень абстракции, который поддерживает реализации отображения объектов / XML для JAXB, Castor, XMLBeans, JiBX и XStream.

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

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

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

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

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

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

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

Web

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

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

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

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

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

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

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

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

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

Разнообразный

Есть несколько других важных модулей, таких как AOP, Аспекты, Инструментарий, Веб и Тестовые модули, детали которых следующие:

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

Модуль « Аспекты » обеспечивает интеграцию с AspectJ, который снова является мощной и зрелой средой AOP.

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

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

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