Spring框架 - 架构

Spring可能是所有企业应用程序的一站式商店.但是,Spring是模块化的,允许您挑选和选择适用于您的模块,而无需引入其余模块.以下部分提供了有关Spring Framework中可用的所有模块的详细信息.

Spring Framework提供了大约20个可以根据应用程序要求使用的模块.

Spring Framework Architecture

核心容器

核心容器包括核心,豆类,上下文和表达语言模块的详细信息如下:

  • 核心模块提供了框架的基本部分,包括IoC和依赖注入功能.

  • Bean module提供了BeanFactory,它是工厂模式的复杂实现.

  • Context 模块建立在由Core和Beans模块,它是访问定义和配置的任何对象的媒介. ApplicationContext接口是Context模块的焦点.

  • SpEL 模块提供了一种强大的表达式语言,用于查询和操作运行时的对象图.

数据访问/集成

数据访问/集成层包括JDBC,ORM,OXM,JMS和Transaction模块的详细信息如下:

  • JDBC 模块提供了一个JDBC抽象层,无需繁琐的JDBC相关编码.

  • ORM 模块提供流行的对象关系映射API的集成层,包括JPA,JDO,Hibernate和iBatis.

  • OXM 模块提供了一个抽象层,支持JAXB,Castor,XMLBeans,JiBX和XStream的Object/XML映射实现.

  • Java Messaging Service JMS 模块包含用于生产和消费的功能消息.

  • 事务模块支持对实现特殊接口和所有POJO的类进行编程和声明式事务管理.

Web

Web层由Web,Web-MVC,Web-Socket和Web-Portlet模块的详细信息如下:

  • Web 模块提供基本的面向Web的集成功能,例如多部分文件上传功能和使用servlet监听器和面向Web的应用程序上下文初始化IoC容器.

  • Web-MVC 模块包含用于Web应用程序的Spring的模型 - 视图 - 控制器(MVC)实现.

  • Web- Socket 模块支持Web应用程序中客户端和服务器之间基于WebSocket的双向通信.

  • Web -Portlet 模块提供MVC实现要在portlet环境中使用并镜像Web-Servlet模块的功能.

其他

其他一些重要的模块,如AOP,Aspects,Instrumentation,Web和Test模块,其详细信息如下:

  • AOP 模块提供面向方面的编程实现,允许您定义方法拦截器和切入点,以便干净地解耦实现应该分离的功能的代码.

  • Aspects 模块提供与AspectJ的集成,后者又是一个功能强大且成熟的AOP框架.

  • Instrumentation 模块提供了在某些应用程序服务器中使用的类检测支持和类加载器实现.

  • Messaging 模块支持将STOMP作为WebSocket子协议在应用程序中使用.它还支持用于从WebSocket客户端路由和处理STOMP消息的注释编程模型.

  • 测试模块支持Spring的测试使用JUnit或TestNG框架的组件.