使用Spring AOP对方法增强处理

本文探讨了Spring AOP在方法调用前后进行日志记录、调用时长统计及前置业务判断的应用,强调了正确使用Spring容器生成的代理类的重要性,避免事务管理误区,并提醒在环绕切面中正确返回原方法结果。
  • 使用Spring aop可以在方法调用前、后、异常、返回这些操作时,做一些额外的事情,比如日志记录,调用时长统计,前置业务判断等操作
  • 使用时的注意事项:
    • 既然是使用Spring AOP,那么背切入的方法调用一定要通过Spring容器生成的代理类来调用时才会有作用。比如类A,里面有方法M1,M2,我们切入点是M2,当M1中直接调用M2时,切面方法是不会监控到的。因为使用的是当前对象直接调用,而不是通过代理类的对象。可以通过从容器中获取A,然后再在M1中调用M2的方式。
    • 切入点中事务问题。需要注意的是,如果被增强的方式是有事务的,而且是由Spring容器来管理事务,那么切面方法也是包含在事务中的,并不是被增强的目标方法执行完事务就提交,这个在做一些数据库判断时要注意。
    • 环绕切面要将原方法的返回值返回出去,避免拦截处理了逻辑,忘记返回对象
  • 具体用法,基于xml配置,或者注解。网上一大把:
  • https://www.cnblogs.com/hujunzheng/p/6255463.html
  • https://blog.csdn.net/u012814506/article/details/48638017
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值