spring框架图详解
1.核心容器模块:提供spring的基本功能,包括Core,Beans,Context,EL模块
Core:封装了框架依赖的最底层部分,包括资源访问,类型转换及一些常用工具类。
Bean:主要组件是BeanFactory,它是工厂模式的实现。
Context:是一个配置文件模块,向Spring提供上下文信息。
EL:提供强大的表达式语言支持。
2.Aop,Aspects模块
Aop:提供了符合AOP Alliance规范(Alliance是Aop联盟的API包,里面包含了针对面向切面的接口,通常Spring等其他具备动态植入功能的框架依赖此包)面向切面编程的实现,提供比如日志记录,权限控制,性能统计等通知功能和业务逻辑分离技术,并且能动态地将这些功能添加到需要的代码中,这样各司其职,可降低业务逻辑和通用功能的耦合。
Aspects:提供了对AspectJ的集成,AspectJ(AspectJ是一个面向切面的框架,定义了AOP语法,它有一个专门的编译器用来生成遵守java字节编码规范的Class文件)提供了比SpringAsp更强大的功能。
3.数据访问/集成模块:包括JDBC,ORM,OXM,JMS和事务模块
事务模块:用于Spring管理事务,只要是spring管理对象都能得到spring管理事务的好处,无须在代码进行事务控制,支持编程和声明性的事务管理。
JDBC:提供了一个JDBC的样例模板,使用这些模板能消除传统冗长的JDBC编码,还有必须的事务控制,而且能享受到Spring管理事务的好处。
ORM:在关系型数据库和对象之间作一个映射,这样,我们在具体操作数据库的时候,就不需要去和复杂的SQL语句打交道,只要像平时操作对象一样操作就可以。
OXM:Spring3.0的一个新特性是O/X Mapper ,O 代表Object,X代表xml,提供了一个对Object/XML映射实现的抽象层,它的目的是在java(POJO)对象和XML文档 之间来回转换(https://blog.csdn.net/qq_37151646/article/details/82664846)
JMS:提供一套“消息生产者,消息消费者”模板以便更加简单的使用JMS,JMS 用于在两个应用程序之间,或者分布式系统中发送消息,进行异步通信。
4.Web/Remothing模块:包含Web,Web-Servlet,Web-Struts,Web-Prolet 模块
Web:提供了基础的web功能,例如多文件上传,集成Ioc容器,远程过程访问以及Web Service支持,并提供一个RestTemplate类来提供方便的RestFul Services访问。
Web-Servlet:提供了一个Spring MVC Web框架的实现