Spring 学习笔记(三)——AOP

一、面向切面 Spring AOP

1. 常用概念   
    面向切面:把应用中与业务逻辑无关的功能分离出来,而这些无关的功能被称为横切关注点
    横切关注点(cross-cutting concerns):可以看成是影响应用多处的功能
    通知(advice):通知定义了切面是什么以及何时使用
    连接点(Joinpoint):切面需要作用的地方
    切点(Pointcut):切点定义了切面作用在何处,是连接点所在的一个范围
    切面(Aspect):横切关注点所形成的特殊的类,通知和切点共同定义了切面的全部内容,“是什么,在何时何处使用”

2. AOP 配置

3.  示例


3.1 改进:

    如果想让定义的切点被其它切面所引用,可以把 <aop:point-cut> 写在 <aop:config> 元素的作用域里

3.2 声明环绕通知:




   
环绕通知对应的方法中,需要传入 ProceedingJoinPoint 参数,通过调用 proceed() 方法来执行被环绕的方法,在 proceed() 方法的前面,后面分别定义要执行的逻辑
3.3 为通知传递参数

3.4 通过切面引入新功能

    type-matching:指定被通知的 bean;implement-interface:这些 bean   需要实现的接口;default-impl:定义实现此接口的方法。前面的 AOP 是为 bean 中的方法添加新的功能,而这里是为 bean 添加新的方法/功能

4. 切面的注解
... ...

二、AspectJ

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章