aop的一个小demo

​​​​​​ 注解方式通知配置增强

切入点及前置通知,后置通知,返回通知,异常通知,环绕通知的配置

 

@Aspect

@Service

public class LogAspect {

       @Pointcut("bean(orderServiceImpl)")  //注明切入的bean对象

       public void doLog(){}

          

       @Before("doLog()")

       public void doBefore(){

           System.out.println("log before");

       }

       @After("doLog()")

       public void doAfter(){

           System.out.println("log after");

       }

       /**核心业务正常结束时执行

        * 说明:假如有after,先执行after,再执行returning*/

       @AfterReturning("doLog()")

       public void doAfterReturning(){

           System.out.println("log doAfterReturning");

       }

       /**核心业务出现异常时执行

                   说明:假如有after,先执行after,再执行Throwing*/

       @AfterThrowing("doLog()")

       public void doAfterThrowing(){

           System.out.println("log doAfterThrowing");

       }

}

 

切入点及环绕通知的配置

 

@Component

@Aspect

public class TxManager {

    @Pointcut("execution(com.company.spring.service..*.*(..))")

    public void pointCut() {}

    @Around("pointCut()")

    public Object around(ProceedingJoinPoint joinPoint)

           throws Throwable{

            try{

           System.out.println("事务开始");

           Object result = joinPoint.proceed();//执行目标方法

           System.out.println("提交事务");

}catch(Exception e){

System.out.println("回滚事务");

throw e;

}finally{

System.out.println("释放资源");

}

           return result;

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值