Spring源码学习之旅

Spring Framework学习

Spring框架对于java程序员的意义非常特殊,不会Spring的java程序员基本上可以认为就是不会java,因此掌握Spring框架显得尤为重要
Spring框架提供了两样重要的功能 – IOC AOP

IOC(Inversion of Control)

IOC的直译便是控制反转,既然有一个反转,那么就必然有一个与之对立的使用方式,即正向使用,那么什么是正向使用?

Object o = new Object();

这就是一段正向使用,很多人认为,这不是很正常的一种使用方式么?如果将代码扩展成如下的样子再来看呢?

public class A{
	public void a(){
		B b = new B();
		C c = new C();
		D d = new D();
	}
}

这个时候,类A就直接向B\C\D三个类产生了强耦合,如果类D是来自于D.jar包里的不推荐使用的类呢?在某天,D.jar的开发者将这个类移除,那么我们的A类是不是也得跟着去修改?
在此基础上,spring提供了一整套的解决方案,即IOC,由spring来管理对象的创建销毁等过程,这就是一个最简单的IOC的定义,spring的IOC是基于java反射的实现

AOP (Aspect Oriented Programming)

AOP 面向切面编程,在以往传统的自顶向下的编程模型中,提供了另一种解决思路,以往对某个方法的处理时长可能都需要在方法前后加上如下片段

public void m(){
        long start = System.currentTimeMillis();
        //do something
        long end = System.currentTimeMillis();
        System.out.println("程序运行了"+(end-start)+"MS");
    }

而有了切面之后 ,可以通过切面的方式,将这些散落在各处的通用逻辑抽到某处,在功能运行的过程中去将这些功能偷偷的加到原有方法内,而又不对原有方法产生侵入,这个神奇的功能就是通过动态代理来实现的

走进科学之Spring源码环境构建

这好像也是很多人突发奇想,我不能就此沉沦,我要雄起,我要阅读Spring源码!
但是github代码太多下载老断,下载完编译不成功等等等等
那就从代码下载与准备环境开始吧

一、准备工作

Spring源码学习之旅 先搞定环境再说!

二、IOC

三、AOP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值