风险网站如何解决办法,网站建设 页面,企业查名,dj网站建设2.3 AOP核心概念
通过SpringAOP的快速入门#xff0c;感受了一下AOP面向切面编程的开发方式。下面我们再来学习AOP当中涉及到的一些核心概念。 1. 连接点#xff1a;JoinPoint#xff0c;可以被AOP控制的方法#xff08;暗含方法执行时的相关信息#xff09;
连接点指的…2.3 AOP核心概念
通过SpringAOP的快速入门感受了一下AOP面向切面编程的开发方式。下面我们再来学习AOP当中涉及到的一些核心概念。 1. 连接点JoinPoint可以被AOP控制的方法暗含方法执行时的相关信息
连接点指的是可以被aop控制的方法。例如入门程序当中所有的业务方法都是可以被aop控制的方法。 在SpringAOP提供的JoinPoint当中封装了连接点方法在执行时的相关信息。后面会有具体的讲解 2. 通知Advice指哪些重复的逻辑也就是共性功能最终体现为一个方法
在入门程序中是需要统计各个业务方法的执行耗时的此时我们就需要在这些业务方法运行开始之前先记录这个方法运行的开始时间在每一个业务方法运行结束的时候再来记录这个方法运行的结束时间。
但是在AOP面向切面编程当中我们只需要将这部分重复的代码逻辑抽取出来单独定义。抽取出来的这一部分重复的逻辑也就是共性的功能。 3. 切入点PointCut匹配连接点的条件通知仅会在切入点方法执行时被应用
在通知当中我们所定义的共性功能到底要应用在哪些方法上此时就涉及到了切入点pointcut概念。切入点指的是匹配连接点的条件。通知仅会在切入点方法运行时才会被应用。
在aop的开发当中我们通常会通过一个切入点表达式来描述切入点(后面会有详解)。 假如切入点表达式改为DeptServiceImpl.list()此时就代表仅仅只有list这一个方法是切入点。只有list()方法在运行的时候才会应用通知。 4. 切面Aspect描述通知与切入点的对应关系通知切入点
当通知和切入点结合在一起就形成了一个切面。通过切面就能够描述当前aop程序需要针对于哪个原始方法在什么时候执行什么样的操作。 切面所在的类我们一般称为切面类被Aspect注解标识的类 5. 目标对象Target通知所应用的对象
目标对象指的就是通知所应用的对象我们就称之为目标对象。 AOP的核心概念我们介绍完毕之后接下来我们再来分析一下我们所定义的通知是如何与目标对象结合在一起对目标对象当中的方法进行功能增强的。 Spring的AOP底层是基于动态代理技术来实现的也就是说在程序运行的时候会自动的基于动态代理技术为目标对象生成一个对应的代理对象。在代理对象当中就会对目标对象当中的原始方法进行功能的增强。