spring-AOP面向切面编程基础学习

2022/9/13 1:26:29

本文主要是介绍spring-AOP面向切面编程基础学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 什么是AOP?

 AOP是在不改原有代码的前提下对其进行增强。   AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构。      OOP(Object Oriented Programming)面向对象编程  

2 AOP作用

作用:在不惊动原始设计的基础上为其进行功能增强,前面咱们有技术就可以实现这样的功能即代理模式。  

3 AOP核心概念

 (1)前面一直在强调,Spring的AOP是对一个类的方法在不进行任何修改的前提下实现增强。对于上面的案例中BookServiceImpl中有save , update , delete和select方法,这些方法我们给起了一个名字叫连接点

  (2)在BookServiceImpl的四个方法中,update和delete只有打印没有计算万次执行消耗时间,但是在运行的时候已经有该功能,那也就是说update和delete方法都已经被增强,所以对于需要增强的方法我们给起了一个名字叫切入点。    (3)执行BookServiceImpl的update和delete方法的时候都被添加了一个计算万次执行消耗时间的功能,将这个功能抽取到一个方法中,换句话说就是存放共性功能的方法,我们给起了个名字叫通知   (4)通知是要增强的内容,会有多个,切入点是需要被增强的方法,也会有多个,那哪个切入点需要添加哪个通知,就需要提前将它们之间的关系描述清楚,那么对于通知和切入点之间的关系描述,我们 给起了个名字叫切面   (5)通知是一个方法,方法不能独立存在需要被写在一个类中,这个类我们也给起了个名字叫通知类      总结下: (1)、连接点(JoinPoint):程序执行过程中的任意位置,粒度为执行方法、抛出异常、设置变量等         在SpringAOP中,理解为方法的执行。   (2)切入点(Pointcut):匹配连接点的式子        在Spring AOP中,一个切入点可以描述一个具体方法,也可也匹配多个方法 。                           a 、一个具体的方法:如com.muxue.dao包下的BookDao接口中的无形参无返回值的save方法                b、匹配多个方法:所有的save方法,所有的get开头的方法,所有以Dao结尾的接口中的任意方法,所有带有一个参数的方法          连接点范围要比切入点范围大,是切入点的方法也一定是连接点,但是是连接点的方法就不一定要被增强,所以可能不是切入点。      (3) 通知(Advice):在切入点处执行的操作,也就是共性功能           在SpringAOP中,功能最终以方法的形式呈现    (4)通知类:定义通知的类  (5) 切面(Aspect):描述通知与切入点的对应关系    

 

 



这篇关于spring-AOP面向切面编程基础学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程