Spring源码阅读

  很早之前就有看过Spring源码,当时都说源码非常优秀,需要多看看,学习一下。那个时候,一看到代码那么多,都不知道

从哪里开始阅读。最近在github上看了一些简易版的类似Spring源码,对整个框架有了一个整体的认识,再来阅读源码就简单了很

多。结合书籍,对Spring有了进一步的了解。

 Spring里面两个核心的概念就是IOC和AOP,分别是控制反转和面向切面编程两个概念。IOC也叫依赖注入,其主要的作用就是

对象的创建交给框架来做了,框架将对象创建好之后放入容器中,需要的时候直接从容器中拿就好了。这样的好处就是对象之间解耦了

,以前我都不是很理解,怎么就对象解耦了呢?这是因为,以往没有Spring框架的时候,我们会有很多的对象创建,到处都是new,这

样一系列对象在完成一项功能的时候,难免会有对象之间的依赖关系,就会耦合在一起。现在对象的创建由框架来实现了,这种依赖关

系就弱了很多。实现IOC的原理,主要是利用jdk的反射机制,通过类的名字来创建对象。Spring在实现ioc的时候,一系列的流程就是

读取配置文件、解析配置文件、对象的创建和注册。Resource系列的类实现配置文件的读取,Definition系列的类定义了类的数据模型

,Factory系列的类负责对象的创建,Reader系列的类负责对类定义的解析,大致是这样的。在创建对象的时候,面对的一些问题有如何

解决循环依赖问题等。

 AOP面向切面编程,主要是解决这样的一个问题,如果我的程序已经写好了,但我想在不修改原来的代码的情况下,在这个方

前或者后面添加一些功能,或者有很多地方都需要添加一些功能相同的代码,比如事物。这个时候就可以使用AOP来实现了,简单

。AOP的实现主要依赖aspectJ和jdk的动态代理功能。

 通过自己写博客,发表之后会看到很多类似的优秀博客。刚刚看到了一个,下面给出链接,以便后面学习看

http://blog.csdn.net/xiamizy/article/details/39178679

                     2018年1月28日



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值