Spring AOP

来源:互联网 发布:eplan更新主数据 编辑:程序博客网 时间:2024/06/08 17:11

一、概念:

        1. AOP(AspectOriented Programming):面向切面编程,基于IOC基础,是对OOP的补充;

        2. AOP将应用系统分成两部分:

            1)  核心业务逻辑

            2)  横向的通用逻辑:

                  A. 持久化管理(Persistent Management)

                 B. 事物管理(Transaction Management)

                 C. 安全管理(Security Management)

                 D. 日志管理(Logging Management)

                 E. 调试管理(Debugging Management)

二、内容:

        1. AOP概念:

            1) 方面(Aspect):一个关注点的模块化,该关注点实现可能横切多个对象(如事务管理);

            2) 连接点(Joinpoint):程序执行过程中明确的点(如方法的调用或特定异常的抛出);

           3) 通知(Advice):在特定的连接点,AOP框架执行的动作,各种通知类型如下:

               A. Around通知:包围一个连接点的通知,在方法调用前后完成自定义的行为,负责选择继续执行连接点或返回自己的返回值或抛出异常等短路执行;

               B. Before通知:在一个连接点之前执行的通知,但这个通知不能阻止连接点前的执行(除非抛出异常);

               C. Throws通知:在方法抛出异常时执行的通知;

               D. After returning通知:在连接点正常完成后执行的通知。

          4) 切入点(Pointcut):指定一个通知将被引发的一系列连接点的集合;

          5) 引入(Introduction):添加方法或字段到被通知的类;

         6) 目标对象(Target Object):包含连接点的对象,也被称为被通知或被代理的对象;

         7)  AOP代理(AOP Proxy):AOP框架创建的对象,包含通知,可使用JDK动态代理或CGLIB代理;

         8)  编织(Weaving):组装方面创建一个被通知对象;

         9)  advice:要对这个切入点进行什么操作,比如事务控制;

        10)  advisor:包含一个切入点(Pointcut)及对这个切入点所实行的操作;


0 0
原创粉丝点击