zoukankan      html  css  js  c++  java
  • 浅析Spring AOP术语

    AOP是Spring框架面向切面的编程思想:

    将涉及多业务流程的通用功能抽取并单独封装,形成独立的切面,在合适的时机将这些切面横向切入到业务流程指定的位置中。

    1、Join point(连接点):程序执行过程中的一个点,如方法的执行或异常的处理。在Spring AOP中,连接点总是表示方法的执行。通俗的讲,连接点即表示类里面可以被增强的方法。(单个)

    2、Point cut(切入点):切入点是与连接点匹配的表达式,用于确定是否需要执行通知。可以理解为需要被拦截的Join point。(范围)

    3、Advice(增强/通知):指拦截到Join point之后所要执行的方法。(措施)

    4、Aspect(切面):表示Point cut(切入点)和Advice(增强/通知)的结合。(方案)

    五种通知工作:

    1、@Before前置通知:在切入点运行前执行,不会影响切入点的逻辑。

    2、@After后置通知:在切入点正常运行结束后执行,如果切入点抛出异常,则在抛出异常前执行。

    3、@AfterThrowing异常通知:在切入点抛出异常前执行。

    4、@AfterReturning返回通知:在切入点正常运行结束后执行。

    5、@around环绕通知:功能最强大、常用,在切入点执行前后自定义一些操作。需要负责决定是继续处理join point(调用ProceedingJoinPoint的proceed方法)还是中断执行。

    单纯使用OOP:


    权限判断:在每个操作前都加入权限判断,重复代码冗余。


    日志记录:在每个方法里的开始、结束、异常的地方手动添加日志,太繁琐。


    使用AOP就可以借助代理完成这些重复的操作,能够在逻辑过程中,降低各部分之间的耦合了。

     

     

  • 相关阅读:
    BZOJ:4219: 跑得比谁都快 3007: 拯救小云公主
    BZOJ:4816: [Sdoi2017]数字表格
    BZOJ:4333: JSOI2012 智者的考验
    BZOJ:3911: SGU383 Caravans(三角剖分)
    bzoj:2595: [Wc2008]游览计划
    ZOJ3602:Count the Trees
    A Dangerous Maze (II) LightOJ
    Where to Run LightOJ
    Lights inside 3D Grid LightOJ
    Snakes and Ladders LightOJ
  • 原文地址:https://www.cnblogs.com/mo-jian-ming/p/13269432.html
Copyright © 2011-2022 走看看