Spring 教程:AOP 切面编程

2025-05-18 07:25:22

1、AOP的核心概念:1、横切关注点对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点2、切面(aspect)类是对物体特征的抽象,切面就是对横切关注点的抽象3、连接点(join point)被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器4、切点(pointcut)对一组连接点(方法)进行拦截的定义,用execution5、通知(advice)所谓通知指的就是指拦截到连接点之后要执行的代码,通知分为前置、后置、异常、最终、环绕通知五类6、目标对象代理的目标对象(核心业务对象)7、织入(weave)将切面应用到目标对象并导致代理对象创建的过程8、引入(introduction)在不修改代码的前提下,引入可以在运行期为类动态地添加一些方法或字段

2、Spring在运行期把切面作为一个bean放到Spring 容器中,使用代理类封装目标类的形式,在执行目标方法之前进行拦截,同时,在调用目标bean方法之前,执行切面逻辑。

Spring 教程:AOP 切面编程

5、@Aspect:作用在类上,表示该类是一个切面。@After 通知方法会在目标方法返回或抛出异常后调用@AfterReturning 通知方法会在目标方法返回后调用@AfterThrowing 通知方法会在目标方法抛出异常后调用@Around 通知方法会将目标方法封装起来@Before 通知方法会在目标方法调用之前执行

6、spring Aop maven配置:

Spring 教程:AOP 切面编程

9、在配置类中启用AspectJ注解的自动代理:

Spring 教程:AOP 切面编程

11、测试:

Spring 教程:AOP 切面编程
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢