ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-09-12 01:00:42  阅读:200  来源: 互联网

标签:连接点 spring 切入点 通知 切面 AOP 方法 delete


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,方法,delete
来源: https://www.cnblogs.com/puzi0315/p/16685254.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有