Spring源码解析 - 介绍

序言

    六个月的实习期已经结束了,先后在百度、爱奇艺、京东AI实习,同学们的实习都是做点小项目带薪学习,我这是工作一个又一个除去双休日无缝衔接,脑袋疼,甚至有点想吃烤面筋和回家路上的铁板鱿鱼。

    闲话不多说,既然实习期满归校,快拾起我最初的Geek梦想,开始我的总结记录,伴随着每一篇博文,书写我的成长之旅,总结实习经验,开心快乐的工作、学习、生活下去。

    我始终坚信:“ 机遇永远都是留给有准备的人的 。 ”

正文

    学习Spring源码,当然要从源码看起。

        1、第一步去Spring官网下载Spring源码。(有Git用Git没有就创造条件下载Git)

        2、运行环境Spring5以上的jdk1.8,Intej idea或者eclipse都OK的。如果只用文本编辑器NotePad++(舅服你)。

        3、打开项目,开始我们的源代码学习之旅。

   描述一下Spring的官方文档:

Spring源码解析 - 介绍_第1张图片

Spring源码解析 - 介绍_第2张图片

    用环境打开下载好的Spring源码,结构大概下面这样的:

Spring源码解析 - 介绍_第3张图片

Spring核心内容介绍

    这里我们首先描述Core Container 核心容器这一块:

    Core Container核心容器包含有Core 、 Beans 、 Context 、 Expression Language模块。其中Core和Beans模块是核心容器的基础部分,提供了IOC控制反转和DI依赖注入的特性(关于控制反转和依赖注入描述一下:

    我们项目开发过程中所有的类都在Spring中注册登记,告知Spring你的信息,你需要哪些人(对象),虽然类与类之间不曾主动的确认过眼神,Spring会在系统运行到对的时间给你对的人。所有类的创建和销毁都由Spring来控制,控制对象生存周期的不再是某个引用它的对象,而是Spring。对象不再是相互引用控制的关系,现在所有的对象都被Spring容器控制。所以它叫控制反转。

    关于DI依赖注入,Ioc系统在运行过程中需要向某一个对象动态的提供其依赖的对象,这就是通过DI依赖注入来实现的。

    DI所依赖的一个技术叫做反射,jdk1.3之后提出的特性,它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性。

)。关于核心容器,最基础的设计模式就是BeanFactory实例工厂设计模式,提供了对工厂模式的经典实现,真正的允许你从程序的逻辑中分离出依赖关系和配置。

    简单描述一下核心容器中的几个模块:

        1、Core Spring框架中基本的核心工具类

        2、Beans 访问配置文件、创建和管理Bean。是Ioc和DI操作相关的类。

        3、Context 基于Core和Beans,继承了Beans的特性,为Spring提供了大量的扩展。ApplicationContext接口很关键。

        4、Expression Language 提供了表达式语言用于运行时查询和操纵对象。

    AOP模块

    Aop模块提供了一个符合AOP面向切面编程的实现,可以定义方法拦截器、切点、切面。从而将逻辑代码分开,降低代码间的耦合性。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务、通过使用Spring AOP,可以将声明性事务管理集成到应用程序中。

简单介绍过Spring后,准备开始逐一分析核心模块。

 

你可能感兴趣的:(Spring全家桶)