AOP搭建及介绍

本文详细介绍Spring AOP(AspectJ)的搭建与应用,包括注解和XML两种配置方式,涵盖切面类、切入点表达式及各类通知(Before、After、AfterReturning、AfterThrowing、Around)的使用。

**

Spring AOP搭建:AOP(AspectJ)

**

一、 注解方式

1、导包

spring-aop-4.0.6.RELEASE
aspectjrt
aspectjweaver
aopalliance
spring-core

2、配置文件

<context:component-scan base-package="com...."></context:component-scan>
开启代理模式
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

3、切面类

@Aspect   标识切面类
@Component 注解模式

4、切入点表达式

切入点写在切面类方法前
save方法之前执行
@before(execution(public void com…userdao.save())“”)

save方法之后执行
@After("execution(返回类型 类完全限定名,方法)")

当save返回结果之后执行,若有异常则不执行
@AfterReturning("execution(返回类型 类完全限定名,方法)")

方法中若有异常执行
@AfterThrow("execution(返回类型 类完全限定名,方法)")

环绕业务代码(相当于1、2的集成)
@Around("execution(返回类型 类完全限定名,方法)")
	    around(ProceedingJoinPoint jointPoint)
	    sysout("begin")
	    jointPoint.proceed();
	    sysout("end")
	    
使用pointcut后以上标签后括号参数可用pointCut()替代
@pointcut("execution(返回类型 类完全限定名,方法)")
public void pointCut(){}

XML方式

1、在容器中创建切面类

<bean id="aop" class="com.*.*.*.MyAop"></bean>

2、设置切入点

<aop:config>
	<aop:pointcut expression="execution(此处添加切入对象方法) or execution(可或多个方法)" id="xxx"> 设置需切面对象
	<aop:aspect ref="aop"> 设置切面类
		<aop:before method="此处添加切面方法" pointcut-ref="xxx"/>
		<aop:after-throwing method="此处添加切面方法" pointcut-ref="xxx"/>
		<aop:after-returning method="此处添加切面方法" pointcut-ref="xxx"/>
		<aop:around method="此处添加切面方法" pointcut-ref="xxx"/>
	</aop:aspect>
</aop:config>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值