自学内容网 自学内容网

【Spring】体系结构

Spring框架至今集成了多个模块,这些模块分布在数据访问/集成(Data Access/Integration)、Web层、面向切面的编程(Aspect Oriented Programming,AOP)模块、植入(Instrumentation)模块、消息传输(Messaging)、核心容器(Core Container)和测试(Test)。
在这里插入图片描述

一、数据访问/集成

该层由JDBCORMOXMJMS(Java Messaging Service)和事务(Transactions,tx)模块组成:

  • Spring-jdbc模块:提供JDBC抽象层,消除了烦琐的JDBC编码和数据库厂商特有的错误代码解析。

  • Spring-orm模块:为对象关系映射(Object-Relational Mapping, ORM)API提供了一个集成层,支持JPAHibernate

  • Spring-oxm模块:提供了一个支持对象/XML映射的抽象层实现。

  • Spring-jms模块:Java消息传递服务,包含用于生产和使用消息的功能。Spring 4.1以后提供了与Spring-messaging模块的集成。

  • Spring-tx模块:支持用于实现特殊接口和所有POJO(普通Java对象)类的编程和声明式事务管理。

二、Web 层

Web层由Spring-webSpring-webmvc(也称为Web-Servlet模块)、Spring-websocketPortlet模块组成:

  • Spring-web模块:提供基本的Web开发集成功能,例如多文件上传功能、使用Servlet监听器初始化一个IoC容器以及Web应用上下文。

  • Spring-webmvc模块:包含用于Web应用程序的 Spring MVCREST Web Services实现。

  • Spring-websocket模块:Spring 4.0以后新增的模块,提供了WebSocketSockJS的实现。

  • Portlet模块:类似于Servlet模块的功能,提供了Portlet环境下的MVC实现。

三、AOP 和 植入

  • Spring-aop模块:提供符合AOP要求的面向切面的编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,实现解耦。

  • Spring-aspects模块:可以与AspectJ集成。AspectJ是一个强大且成熟的面向切面编程(AOP)框架,用于帮助开发者更好地管理代码中的横切关注点。

  • Spring-instrument模块:提供类植入支持和类加载器的实现,可以在特定的应用服务器中使用。

四、消息模块

Spring 4.0新增了消息(Spring-messaging)模块,该模块提供了对消息传递体系结构和协议的支持。

五、核心容器

Spring的核心容器是其他模块的基础,其包含:

  • Spring-core模块:提供控制反转(Inversion of Control,IoC)和依赖注入(Dependency Injection,DI)等基础组成部分。

  • Spring-beans模块:提供BeanFactory(工厂模式的经典实现),Spring将管理对象称为Bean

  • Spring-context模块:建立在Spring-core模块和Spring-beans的基础之上,提供一个框架式的对象访问方式,作为访问定义和配置的任何对象的媒介ApplicationContext接口是该模块的焦点。

  • Spring-context-support模块:支持整合第三方库到Spring应用程序上下文。

  • Spring-expression模块:提供强大的表达式语言去支持运行时查询和操作对象图。

六、测试

Spring-test模块支持使用JUnitTestNGSpring组件进行单元测试和集成测试。


原文地址:https://blog.csdn.net/zzy_NIC/article/details/143578081

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!