首页 > 编程语言 > 详细

AOP概述 —— Spring(六)

时间:2020-04-04 19:15:32      阅读:64      评论:0      收藏:0      [点我收藏+]

什么是AOP?

  Aspect Oriented Progranming,面向切面编程。

  AOP的作用就是在程序运行期间,不修改源码对已有方法进行增强。把程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对已有方法进行增强。

  AOP可以减少重复的代码,提高开发的效率,维护方便。

  在Spring当中,框架会根据目标类是否实现了接口来决定采用哪一种动态代理的方式。

 

AOP相关术语

  Joinpoint(连接点):指被拦截到的点,在Spring当中,这些点指的是方法,因为Spring只支持方法类型的连接点。

  Pointcut(切入点):对哪些Joinpoint进行拦截。

  Advice(通知/增强):拦截到Joinpoint之后要做的事情就是通知。通知的类型:前置通知,后置通知,异常通知,最终通知,环绕通知。

  Target(目标对象):代理的目标对象。

  Introduction(引介):引介是一种特殊的通知,在不修改类代码的前提下,Introduction可以在运行期间为类动态地添加一些方法或者Filed。

  Weaving(织入):把增强,应用到目标对象,来创建新的代理对象的过程。Spring采用动态代理织入,AspectJ采用编译器织入和类装载期织入。

  Proxy(代理):一个类被AOP织入增强后,产生一个结果代理类。

  Aspect(切面):是切入点和通知(引介)的结合。

 

AOP要做的事情

  程序员需要编写核心业务代码,把公用的代码抽取出来,制作成通知,然后在配置文件当中,声明切入点和通知之间的关系,即切面。

  Spring框架会监控切入点的方法执行。一旦监控到切入点的方法被运行,就会使用代理机制,动态创建目标对象的代理对象,再根据通知类别,在代理对象的对应位置,将通知对应的功能织入,完成完整的代码逻辑运行。

 

AOP概述 —— Spring(六)

原文:https://www.cnblogs.com/guancangtingbai/p/12632868.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!