Spring потенциально может быть универсальным магазином для всех ваших корпоративных приложений. Однако Spring является модульным, позволяя вам выбирать, какие модули вам подходят, без необходимости вносить остальные. В следующем разделе приведены сведения обо всех модулях, доступных в Spring Framework.
Spring Framework предоставляет около 20 модулей, которые можно использовать в зависимости от требований приложения.
Основной контейнер
Базовый контейнер состоит из модулей 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.