Spring源码深度解析
Posted c++,c随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring源码深度解析相关的知识,希望对你有一定的参考价值。
Spring整体架构分为以下几部分:
1.Core模块:包含Spring框架的基本核心工具类,Spring其它组件都要使用到这个包中的类,Core模块是其它组件的基本核心。
2.Beans模块,包含访问配置文件,创建和管理bean以及进行IoC/DI(控制反转/依赖注入,上一篇文章中详细分析了这两个概念)操作相关的所有类。
3.Context模块构建于Core和Beans模块基础之上,提供了类似于JNDI注册器的框架式的对象访问方法。Context模块继承了Beans的特性,为Spring核心提供大量扩展,添加了对国际化(例如资源绑定),事件传播,资源加载和对Context的透明创建的支持
4.Expression language模块提供了一个强大的表达式语言用于在运行时查询和操纵对象。该语言支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文,容器和索引器,逻辑和算术运算符,命名变量以及从Spring的IoC容器中根据名称检索对象,它也支持list投影,选择和一般的list聚合。
Data Access/Integration层包含JDBC,ORM,OXM,JMS和Transaction模块。
Web层包含Web,Web-Servlet,Web-Struts和Web-Porlet模块。(这两层之后进行学习讲解)
AOP模块提供了一个符合AOP联盟变准的面向切面编程的实现,它让你可以定义例如方法拦截器和切点,从而将逻辑代码分开,降低他们之间的耦合性。利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中。
以上是关于Spring源码深度解析的主要内容,如果未能解决你的问题,请参考以下文章
深度解析Spring源码编译Spring源码(spring5.2.x版本)