• spring-aop


    Spring-Aop

    最近在整理一些资料,发现写博客真是一件挺好的记忆方式。慢慢的总结,不过在看大家博客的时候发现博客中虽然都配上了例子,但是个人觉得没有直接给源码那么简单,所以如果是我亲手实践的,源码都能在我的gitHub上找到。

    gitHub地址:git@github.com:xiaotiao/spring.git

    关于Aop的一些概念:

    Aop就是面向切面编程,切面编程的大致意思就是在我们的软件系统中存在很多与逻辑业务不相关的但却也很重要的部分,由于不与逻辑业务相关,直接写在业务里不合适,大家想想我们最初写JDBC程序的时候多痛苦呀,要写一大推不相关的代码。这也是spring声明式事务的方便之处。

       AOP术语:

    这个也是挺绕的,我说说自己的理解吧,也不知道对不对。

     

     切面(Aspect)定义了所有逻辑业务中必须的额外处理,当然切面这可能会有多个,说严谨些就是切面集合定义了所有逻辑业务中必须的额外处理。

     切面的好处显而易见,方便维护,将所有与逻辑业务无关的汇聚一起,多好。

     通知(Advice),在要执行逻辑业务代码的时候,通知就在切点(pointcut)处将切面的功能织入到逻辑业务中。

       假如有代码:

         public void test(){//这儿要执行一些额外的必要操作,如打印日志,数据库 事务等等

           .....

         }

         切点检查到此处要执行通知,于是在此处将切面的一个或多个通知织入进来,(注意,可能不是全部通知)

      所以通知就是定义了一个切面功能,以及何时执行这些操作,就是执行顺序。

      在Spring中,有五种不同的通知:

       Before

       After

       After-throwing

       After-return

       Around

       其中around可以共享状态信息哦.

      切点(pointcut)就是指定业务逻辑代码在何处要执行通知(Advice)

      织入代码:spring Aop是通过运行时动态生成代理对象来完成代码织入的。

      具体可以参考代码

    ZZH
  • 相关阅读:
    leetcode
    面试知识点
    关于flock文件锁的阻塞与非阻塞
    cetos7 安装telnet
    github 获取 token
    windows安装composer
    编码问题
    RabbitMQ 关键词解释
    windows下安装rabbitmq以及php扩展amqp
    windows下安装oracle客户端和php扩展
  • 原文地址:https://www.cnblogs.com/xiaotiao-coder/p/5351192.html
Copyright © 2020-2023  润新知