美文网首页
案例:使用Spring AOP 实现日志输出2019-07-09

案例:使用Spring AOP 实现日志输出2019-07-09

作者: 琴匣自鸣 | 来源:发表于2019-07-11 08:49 被阅读0次

1.添加 AOP 相关 jar

2.编写增强处理实现日志功能

3.编写Spring 配置文件,对业务方法进行增强处理, 
    public void *(entity.User) '*'表示匹配所有方法名
    public void addUser(..) '..'表示匹配所有参数个数和类型
    * com.service.*.*(..) 这个表达式匹配 com.service 包下所有类和类的所有方法
    * com.service..*.*(..) 匹配com.service包及其子包下所有类的所有方法.

注: <property name="dao' ref="dao"></property> 注意这里的name指的是set方法后面的名字并不是指属性名

补充一下可能出现的错误,Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to XXXX
    可能出现位置,转换Impl时出错,意思是动态代理生成的类无法转换到自定义的实现类
    解决办法:在aop:config标签中添加 proxy-target-class="true" 即可
    由于生成代理类有两种方式:JDK和CGLIB,一种是基于接口的,一种是基于类的。
    如果添加上面的属性则使用基于类的cglib的方式,相反,如果没有写或者是false则通过jdk的基于接口的方式生成代理类。

4.编写代码,获取带有增强处理的业务对象

Join Point 类----jp.getTarget()方法获取被代理目标对象
jp.getSignature()方法返回被代理的目标方法
jp.getArgs()方法返回传递给目标方法的参数数组

相关文章

  • 案例:使用Spring AOP 实现日志输出2019-07-09

    1.添加 AOP 相关 jar 2.编写增强处理实现日志功能 3.编写Spring 配置文件,对业务方法进行增强处...

  • Redis分布式锁的实现

    Redis分布式锁的实现 参考 使用 Spring Boot AOP 实现 Web 日志处理和分布式锁 Redis...

  • spring-aop

    aop概念aop概念aop术语AOP实现方式1、spring-aop(使用xml文件实现AOP)2、AspectJ...

  • 8、AOP

    Spring AOP: spring分为:1、IOC/DI 2、AOPAOP的使用场景:日志和事务概念:AOP为A...

  • Spring Aop、拦截器、过滤器的区别

    Spring AOP Spring AOP,是AOP的一种实现,使用的是代理模式。 Filter Filter(过...

  • Spring AOP原理分析

    AOP是Spring Core中几大重要能力之一,我们可以使用AOP实现很多功能,比如我们常用的日志处理与Spri...

  • Springboot中aop的使用

    spring boot 使用spring AOP实现拦截器当使用了aop之后,contorl类中只要符合拦截条件的...

  • 使用Spring的AOP进行对日志的增强

    spring-boot-aop-log 说明 使用Spring的AOP进行对日志的增强操作,在我们启动时可以看见所...

  • Spring AOP使用介绍

    在讲解Spring Aop原理之前,需要先了解下如何使用Spring Aop。举例:打印方法出入口日志 添加xml...

  • spring AOP应用场景

    Spring Boot中使用AOP统一处理Web请求日志 AOP为Aspect Oriented Programm...

网友评论

      本文标题:案例:使用Spring AOP 实现日志输出2019-07-09

      本文链接:https://www.haomeiwen.com/subject/heixkctx.html