AOP的概念理解:面向切面编程,自定义一个类作为通知类,定义切入点标明那些类的那些方法需要处理,什么时机处理
五种通知类型 before after afterReturning afterThrowing round
aop的使用步骤xml+注解形式
1 定义类作为通知类 @component 作为切面 @Aspect
2 在xml中开启支持 aop:aspect-autoproxy @EnableAspectAutoProxy
3 切入点的配置 pointCut("* cn.hehe.*.*(..))")
4 @Before 等通知
需求:在请求方法时候记录 信息
1. 操作的用户名
User 是security权限框架的对象 通过
2. 请求的动作类名
jointPoint.getTarget.getSimpleName();
3. 请求的方法名
接入点jointPoint.getSingature.getName();
4. 请求的url路径
动作类上面配置的mapping加上方法上面的mapping
需要获取执行的类对象 和执行的方法对象

方法对象的获取分为无参数和有参数

5. 传递的参数
Arrays.toString(参数的数组);
6. 请求的ip地址

7. 访问的时间
新建时间保存
8. 执行花费的时间
当前时间 减去之前保存的对象中的访问时间
9. 执行结果的状态
根据执行后的通知类型 设置SUCCESS 或者EXCEPTION
10. 异常信息
e.getMsg(); 获取异常的信息
再写一个日志保存的service类在@AfterReturning@@AfterThrowing通知中保存到数据库即可
本文详细介绍了面向切面编程(AOP)的基本概念及其在Spring框架中的应用方式。通过实例展示了如何利用AOP进行日志记录,包括定义切面类、配置切入点及不同通知类型的实现。
1217

被折叠的 条评论
为什么被折叠?



