未分类
2020-12-06 11:02:32
1822677238@qq.com
手机扫码查看
2020java框架教程:springAOP的注解方式开发
1.创建web项目
2.引入jar包:
aopalliance.jar、aspectjweaver.jar
3.日志
log4j.properties
4.准备目标对象
先创建类的接口,然后创建类的实现类
5.编写通知
前置通知:在目标方法之前调用
后置通知(如果出现异常就不调用):在目标方法之后调用
后置通知:(无论是否出现异常都会调用):在目标方法之后调用
环绕通知:在目标方法之前、后调用
异常通知:出现异常则调用
public class TransactionAdvice {
/*
前置通知:在目标方法之前调用
后置通知(如果出现异常就不调用):在目标方法之后调用
后置通知:(无论是否出现异常都会调用):在目标方法之后调用
环绕通知:在目标方法之前、后调用
异常通知:出现异常则调用
*/
public void before(){
System.out.println("前置通知被执行");
}
public void afterReturning(){
System.out.println("后置通知被执行(出现异常不调用)");
}
public void after(){
System.out.println("后置通知被执行(无论是否出现异常都会调用)");
}
public void afterException(){
System.out.println("异常通知被执行");
}
public Object around(ProceedingJoinPoint point) throws Throwable{
System.out.println("环绕通知前");
Object proceed = point.proceed();
System.out.println("环绕通知后");
return proceed;
}
}

6.配置织入,将通知织入到目标对象
<!-- 目标对象 --> <bean name="usersService" class="service.impl.UsersServiceImpl"/> <!-- 通知对象 --> <bean name="transactionAdvice" class="advice.TransactionAdvice"/> <!-- 开启织入注解 --> <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
7.添加注解
在通知类的上方添加 @Aspect
然后写个切入点方法,将切入点的表达式加入注解 @Pointcut
然后在每个方法上添加AOP注解

8.测试




发表回复