Spring5源码深度解析(一)——Spring整体架构

开篇:
新的一学期,希望可以有新的收获,写这个的目的一方面是增强自己的手写能力和逻辑能力,另外一方面也可以记录自己的学习进度和学习程度。


Spring整体架构图:

在这里插入图片描述

Spring架构分析

  • Core Container(核心容器):里边包含Core,Beans,Context,SpEl(Spring Expression Lanuage)。

    • Core:主要包含Spring框架基本的核心工具类,Spring的其他组件也都要用到这个包里的类,简而言之,它就是其他组件的基本核心
    • Beans:此模块是所有应用都要用到的,它包含访问配置文件,创建和管理bean和进行IOC,DI的所有类
    • Context:构建于Core和Beans,是Beans的延伸和扩展,添加了对国际化(比如资源包的绑定),资源加载,事件传播和对Context的透明创建的支持。
    • Spel:提供了强大的表达式语言,用于在运行时查询和操作对象。支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文,容器和索引器,编辑和算数运算符,命名变量,从Ioc中根据名称检索对象,也支持list投影,选择和一般的list聚合。
  • Data Access(数据存取)/Integration(集成):里边包括JDBC,ORM,OXM,JMS,Transaction。

    • JDBC:包含Spring对JDBC封装的所有类
    • ORM:对象-关系映射API,比如我们经常用的Hibernate,iBatis,JPA等。
    • OXM:提供了一个对Object/XML映射实现的抽象层。
    • JMS(Java Message Service):包含一些制造和消费的消息。
    • Transaction:支持编程和声明性的事务管理,对所有POJO都适用。
  • Web:里面包括Web,WebScoket,Servlet,Portlet。

    • Web:提供了基础的面向web的集成特性,比如,多文件上传,,servlet listeners初始化IOC容器等,还包括一些Spring远程支持中的Web相关部分。
    • WebScoket:浏览器与服务端建立全双工的通信方式,解决http请求-响应带来过多的资源消耗,同时对特殊场景应用提供了全新的实现方式,比如聊天、股票交易、游戏等对对实时性要求较高的领域。
    • Servlet:包含Spring的model-view-controller(MVC)实现。
    • Portlet:基于Java的Web组件,由Portlet容器管理,并由容器处理请求,生产动态内容。提供了用于Protlet环境,Web-Servlet的MVC实现
  • Aop:提供了符合AOP联盟标准的面向切面编程的实现。可以通过定义方法拦截器和切点将传统的逻辑代码分开,降低耦合。

    • Aspects:提供了对Aspect J的集成支持。
    • Instrumentation:提供类级别的工具支持和class loader的实现。使得可以在特定的服务器上使用。

今天就主要是对Spring框架的架构进行解释和分析!由浅入深,逐步前行!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值