海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java框架教程:springAOP的注解方式开发

未分类
2020-12-06 11:02:32
1822677238@qq.com

手机扫码查看

2020java框架教程:springAOP的注解方式开发

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.测试

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注