JavaWeb的AOP详解


44. 什么是AOP? 请按照自己的理解描述一下,以及AOP的应用场景。

AOP是一种面向切面类的编程,聚焦于方法中的共性功能和逻辑

AOP运用了动态加载的技术。

45. SpringAOP中的常见的通知类型有哪些? 这些通知类型的执行时机?

AOP的常见五种的通知

        @Before : 前置通知 ;  ---> 前

        @Around : 环绕通知 ;  ---> 前 / 后

         @Around("........")
            public Object around(ProceedingJoinPoint pjp) {

                Object result = pjp.proceed();

            }

        @After : 后置通知 ; -----> 后 -------> 无论原始方法运行是否出现异常, 都会运行 ;

        @AfterReturning : 返回后通知 ; ------> 后 --------> 原始方法正常运行完才会运行, 出现异常不运行

        @AfterThrowing : 异常抛出后通知 ; ----> 后 ------->  原始方法正常运行完不运行, 出现异常时才运行

AOP通知顺序

        默认顺序: 和切面类的类名有关 ; 

        要设置 : @Order(10)

46. 常见的切入点表达式的写法有哪几种 ? 具体的写法是什么样的请详细说明?

AOP有两种常见切入点表达式

(1)execution(权限修饰符,返回值的类型,包名类名方法名(参数),异常)

- 可省略 : 权限修饰符 、 包名.类名、 异常声明  ------------>  包名.类名 不要省略,包名一旦省略他匹配的范围就越大,性能就会越低。

- 通配符 : 

                    *  : 单个独立的任意符号 ; ----> 返回值 、包名、类名、方法、参数 ---> 还可以匹配方法的一部分
                    .. : 任意层级的任意符号 ; ----> 包名 、参数
 

(2)@annotation(com.itheima.anno.Log)    里面的参数是自定义的全类名

            - 基于注解匹配切入点方法 .
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值