利用AOP实现日志切面统一处理
最近很多业务日志需要优化改进,实现对业务更好的监控和优化。下面介绍利用Spring Aop实现面向切面编程的一个实例。能够实现不改动原有代码逻辑,只加一行描述即可实现统一日志收集。
实现思路
定义两个注解类,分别给service类和controller类使用,然后使用切面类,对这两个注解进行绑定监控。
可以达到效果就是,只需要在我们想要监控的敏感方法增加一行代码注解,相当于切点,那这个切面类就可以监控获取到这个方法的相关输入,输出参数等。
- 切点:匹配连接点的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行(例如,当执行某个特定名称的方法时)。切入点表达式如何和连接点匹配是AOP的核心:Spring缺省使用AspectJ切入点语法。
- 切面:一个关注点的模块化,可以额外执行独立的模块,不影响业务主流程,这个关注点可能会横切多个对象。在Spring AOP中,切面可以使用基于@Aspect注解的方式来实现。
实现AOP配置
是Spring的配置标签,beans里面几个重要的属性: