SpringAOP—切面思想

本文详细介绍了Spring AOP的基本概念,包括连接点、切入点、切面、通知等,结合实例展示了如何配置切入点表达式和创建切面。同时,文章探讨了Spring AOP的五大通知类型及其应用场景,并解释了Spring AOP的代理机制和注解实现方式,提供了一种轻量级的AOP配置方式。
摘要由CSDN通过智能技术生成

1.Spring AOP中的基本概念
1)连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。
例:层于层之间调用的过程中,目标层中可供调用的方法,就称之为连接点。层于层之间调用的过程中,目标层中可供调用的方法,就称之为连接点。

2)切入点(Pointcut):匹配连接点的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行(例如,当执行某个特定名称的方法时)。切入点表达式如何和连接点匹配是AOP的核心:Spring缺省使用AspectJ切入点语法。
例:在连接点的基础上 增加上切入规则 选择出需要进行增强的连接点 这些基于切入规则选出来的连接点 就称之为切入点

3)切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象。事务管理是J2EE应用中一个关于横切关注点的很好的例子。在Spring AOP中,切面可以使用基于模式)或者基于@Aspect注解的方式来实现。
例:狭义上就是 当spring拦截下切入点后 将这些切入点 交给 处理类 进行功能的增强,这个处理类就称之为切面。
广义上来讲 将spring底层的代理 切入点 和 处理类 加在一起 实现的 对层与层之间调用过程进行增强的机制 称之为切面。

4)通知(Advice):在切面的某个特定的连接点上执行的动作。其中包了“around”、“before”和“after”等不同类型的通知。许多AOP框架(包括Spring)都是以拦截器做通知模型,并维护一个以连接点为中
心的拦截器链。
例:在spring底层的代理拦截下切入点后,将切入点交给切面类,切面类中就要有处理这些切入点的方法,这些方法就称之为通知(也叫增强方法)。针对于切入点执行的过程,通知还分为不同的类型,分别关注切入点在执行过程中的不同的时机。

5)目标对象(Target Object): 被一个或者多个切面所通知的对象。也被称做被通知(advised)对象。 既然Spring AOP是通过运行时代理实现的,这个对象永远是一个被代理(proxied)对象。
例:就是真正希望被访问到的对象。spring底层的动态代理对他进行了代理,具体能不能真的访问到目标对象,或在目标对象真正执行之前和之后是否做一些额外的操作,取决于切面。

6)关系图:
在这里插入图片描述

2.spring的aop入门案例
a.导入aop相关开发包
在这里插入图片描述
b.创建一个切面类
在这里插入图片描述
c.定义通知
在这里插入图片描述
d.定义一个连接点
在这里插入图片描述
e.配置切入点
导入AOP的schema约束文件,以便于在配置文件中可以提示标签。在其中配置切入点:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值