Spring框架由以下几个模块组成,下面来大概介绍一下各个模块的内容。
一、Core Container:spring的核心容器,是启动spring的最基本的条件。Core Container由Beans、Core、Context和SpeL组成。
1.1、Beans:负责创建类对象并且管理类对象,提供 BeanFactory,消除了编码式单例的必要性,并且可以把配置和
依赖从实际编码逻辑中解耦。对应的jar包spring-bean.版本号.RELEASE.jar。
1.2、Core: 核心类。对应的jar包spring-core.版本号.RELEASE.jar。
1.3、Context: 为Spring提供上下文信息,以一种类似于JNDI注册的方式访问对象。获取外部资源或者管理注解。对
应的jar包spring-context.版本号.RELEASE.jar。
1.4、SpEL:提供了强大的表达式语言,用于在运行时查询和操作对象图。对应的jar包spring-expression.版本号.RELEASE.jar
Beans和Core提供了框架的基本组成部分,包括 IoC 和依赖注入功能。
二、AOP 模块与Aspects模块
2.1、AOP模块提供了面向切面的编程,允许定义方法拦截器和切入点,提高了功能代码的拓展性。
2.2、Aspects 模块提供了与 AspectJ 的集成,是一个面向切面编程(AOP)框架。
三、Instrumentation 模块
该模块在一定的应用服务器中提供了类 instrumentation 的支持和类加载器的实现。
四、Messaging 模块
Messaging 模块为 STOMP 提供了支持作为在应用程序中 WebSocket 子协议的使用。
它也支持一个注解编程模型,它是为了选路和处理来自 WebSocket 客户端的 STOMP 信息。
五、DATA ACCESS/Integration
5.1、数据访问/集成括 JDBC,ORM,OXM,JMS 和事务处理模块。
5.2、JDBC:Spring对JDBC封装后的代码。
5.3、ORM:对持久层框架的封装。对象关系映射API的集成,包括JPA、JDO和Hibernate等。
5.4、OXM 模块提供了对OXM实现的支持。
5.5、JMS 模块包含生产(produce)和消费(consume)消息的功能。
5.6、事务模块为实现特殊接口类及所有的 POJO 支持编程式和声明式事务管理。
六、WEB模块
6.1、Web 模块由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成。
6.2、Web 提供面向web的基本功能和面向web的应用上下文,
如多部分文件上传功能、使用Servlet监听器初始化IoC容器等。
6.3、Web-MVC 提供了我们经常需要用到的模型视图控制(MODE-VIEW-CONTROL)和REST Web服务的实现。
Spring的MVC框架。使代码与web表单完全分离,代码的层次更加清晰,方便维护。
6.4、Web-Socket 为 WebSocket-based 提供了支持,在 web 应用程序中提供了客户端和服务器端之间通信的两种方式。
6.5、Web-Portlet 模块提供了用于Portlet环境的MVC实现,并反映了spring-webmvc模块的功能。
七、Test模块
该模块提供了 Spring 的测试内容。