提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最精彩的不是实现梦想的的瞬间,而是坚持的过程。
一、Aop的介绍
AOP,Aspect Oriented Program,面向切面编程 Aspect,方面,层面 Oriented,面向,朝向
面向切面编程,通过预编译方式和运行期 动态代理实现程序功能的统一维护的一种技术
是对面向对象编程发展到一定阶段的有 益补充.可以针对方法进行拦截,将一些方法共同的操 作进行提取,在拦截方法的前后先行执行共同代码块.
二、Aop工作原理
1.初始化Spring容器时,加载核心配置文件 (applicationContext.xml) Spring在创建bean时,除了创建目标对象bean之 外,会根据aop的配置,生成目标对象的代理对 象,将其存储。之后获取bean时得到的其实是代 理对象。
在代理对象中,根据配置的切入点规 则,决定哪些 方法不处理,哪些方法拦截后进行增强,需要增强 的方法拦截后,根据配置调用指定的方法进行增强 操作。
三.Aop相关术语
Joinpoint(连接点),所谓连接点是指那些被 拦截到的点。在 spring 中,这些点指的是方 法,因为 spring 只支持方法类型的 连接点。 Pointcut(切入点),所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。 Advice(通知/增强),所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。 通知的类型:前置通知, 后置通知,异常通知,最终通知,环绕通知 Target(目标对象): 代理的目标对象。 Weaving(织入): 是指把增强应用到目标对象,来 创建新的代理对象的过程。 spring 采用动态代 理织入,而 AspectJ 采用编译期织入和类装载期 织入。 Aspect(切面): 当spring拦截下切入点后,将 这些切入点交给某个类进行处理,进行增强 Proxy(代理): 一个类被 AOP 织入 增强后,就产生一个结果代理类。
总结
对Spring Aop的简单了解有利于我们今后更有效的学习