Spring面向切面编程

本文详细介绍了面向切面编程(AOP)的概念,包括横切关注点、切面、通知、连接点和切点,并通过Spring框架的XML配置展示了如何使用切点来选择连接点进行切面编程。文章还具体讲解了如何在Spring中声明和配置环绕通知,并为通知添加参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1、面向切面编程(AOP)的概念:把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。

  2、术语解释:

       横切关注点:分布应用于多处的功能

       切面:横切关注点可以被模块化为一个类,这个类被称为一个切面

       通知(advice):切面要完成的工作。Spring的通知有5种类型:before、after、after-returning、after-throwing和around这五种类型。

       连接点(joinpoint):连接点表示在何种操作发生时应用切面。比如方法调用时、修改字段时和抛出异常时等等

       切点(pointcut):一般用某个包中的类的明确的方法来指定在何处应用切面,应用切面的这个点便称为切点,一般用切点来指定连接点。

  3、使用切点来选择连接点:

      切点用于准确定位该在什么地方应用切面,切点和通知时AOP的基本元素。

       编写切点(使用aspectJ表达式来定位):

41

 

42

 

在表达式中,一般用and、or和not来代替&&、||和!。

 

Spring中用bean()指示器来制定在某个bean中的方法被调用时才应用应用切面:

43

 

4、在XML中声明切面:

 

首先要引入命名空间:

47

 

完成配置之后首先定义一个切面类:

45

 

然后要将被定义切面的类声明为一个bean,可以用@component或者<bean>标签

 

接着在XML中配置切面

44

 

在spring中有很多关于AOP的声明,来指定前置通知、后置通知和环绕通知等:

46

 

5、声明环绕通知:

环绕通知的方法要传入一个特殊的参数:

48

 

然后用<AOP:around>标签声明该通知即可:

49

 

6、为通知添加参数:

50

 

转载于:https://www.cnblogs.com/hewenwu/p/3823334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值