首页 > 科技 >

Spring IOC和AOP原理 设计模式;简单易懂容易记

2019-08-07 07:18:05 暂无 阅读:1903 评论:0

SpringIOC的特点

在接触Spring的过程中,听到最多的无非两个名词,一个是掌握回转一个是依靠注入。实际这是一个意思,掌握回转代表本来由法式自己去掌握对象之间的依靠关系的这种款式被回转了,经由第三方容器(IOC)去完成掌握这些对象的依靠的关系并对它们进行集中治理。

依靠注入:获得依靠对象的过程由自身治理变为了由IOC容器自动注入,就是由IOC容器在运行时代,动态地将某种依靠关系注入到对象之中。

SpringAOP的特点

AOP最多听到的就是面向切面编程,那对于这个名词,我第一次听到的时候也是不克懂得的。

下面用一个图和说话来进行描述:

Spring IOC和AOP原理 设计模式;简单易懂容易记

在一个项目中和我们买卖逻辑和通用的逻辑区分隔来,好比我们的一个系统需要记录日志,记录日志这个事情是通用的,不管你做什么系统一样都邑涉及。那么这一块就经由AOP来统一集中实现,统一治理。

生活中的一个例子,你去吃饭之前一定要洗手,饭后一定要擦嘴。那么,不管你吃什么饭在哪个处所吃。这些通用的过程你都要执行。那么集中抽象出来这些方式,也就形成了AOP。

SpringIOC容器加载Bean的过程

1.第一步 IOC容器

把xml文件位置信息留存,然后挪用refresh方式去从新初始化一个新的IOC容器,Refresh方式中使用obtainFreshBeanFactory去获取,后背的代码是一些BeanFactory建立后的后处理过程

Spring IOC和AOP原理 设计模式;简单易懂容易记

obtainFreshBeanFactory方式里面,我们看到第一行挪用refreshBeanFactory的方式去建立。

Spring IOC和AOP原理 设计模式;简单易懂容易记

在方式中去loadBeanDefintions(),使用XMLReader去解析我们的xml设置文件

Spring IOC和AOP原理 设计模式;简单易懂容易记

后背省略一些源码的步伐,首要做的就是对xml文件进行解析成我们要的BeanDefinitions,处理每个Bean元素以及元素中的属性值。最后把beanDefinition..进我们的BeanFactory中,

Spring IOC和AOP原理 设计模式;简单易懂容易记

2.注入依靠

Spring IOC和AOP原理 设计模式;简单易懂容易记

AOP的两种实现体式 以及小例子

首要是两种,一种是JDK动态代理,一种是Cglib代理。

两者的区别:

1.JDK动态代理只能代理实现了接口的类,动态代理类的字节码在法式运行时由Java反射机制动态生成。

2.Cglib是能够代理没有实现接口的类,cglib是针对类来实现代理的,他的道理是对指定的方针类生成一个子类,并笼盖个中方式实现增加,所以不克对final润饰的类进行代理。底层采用ASM实现。

相关文章