• springAOP面向切面编程基础学习


    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):描述通知与切入点的对应关系
     
     
  • 相关阅读:
    O(1)时间求出栈内元素最小值 小强斋
    图片的轮廓 小强斋
    png 图片的缩放 小强斋
    Dom4j 小强斋
    O(1)时间求出栈内元素最小值 小强斋
    图片的轮廓 小强斋
    png图片的读取 小强斋
    字符串的最大重复数 小强斋
    【Android】数据的四种存储方式
    【就业】签offer和签三方协议的不同
  • 原文地址:https://www.cnblogs.com/puzi0315/p/16685254.html
Copyright © 2020-2023  润新知