AOP实现日志管理

对操作日志的添加

        需求:对除了查询操作以外的其他方法进行日志的生成与添加

        思路:

                1.写一个注解,用于方法上,然后写一个切面类(不推荐,太麻烦,需要在所有方法上添加注解)

                2.写一个注解,用于类上,然后写一个切面类,在切入点配置时,对以get和select开头的方法名不做拦截

                3.在2的基础上,使用动态pointcut,动态Pointcut是指在程序运行时动态处理切入点的内容。它可以通过编写自定义的Pointcut表达式来实现,也可以通过实现Pointcut接口来实现。它的主要作用是根据具体的运行时情况来调整AOP的切入点,从而提高代码的灵活性和可重用性。

使用动态Pointcut通常需要配合AspectJ的@Aspect注解和PointcutAdvisor接口一起使用。在实现方面,我们通常需要完成以下两个步骤: 

  1. 实现PointcutAdvisor接口,实现动态Pointcut
  2. 编写自定义的动态Pointcut表达式

无题

        在进行pointcut时,如果切入点范围过于宽泛,会出现依赖报错,是因为切入到了某个被final修饰的方法,而我们使用的CGLib动态代理是需要被代理类继承一个类的去实现的,而被final修饰的类不能去继承类,所以会报错。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值