• 【仿牛客网笔记】 Spring Boot进阶,开发社区核心功能-统一记录日志


    请添加图片描述
    不发生异常也进行处理,拦截器是对控制组件的处理。
    统一记录日志是对针对业务层
    拆分记录 日志的功能单独实现,可以通过AOP实现。
    权限检查、记录日志、事务管理横跨了业务组件。
    请添加图片描述
    请添加图片描述
    target:目标对象,处理业务组件的需求就是目标对象。
    使用AOP需要将代码单独封装到一个组件中,封装业务的组件就交Aspect
    我们中过程完全是针对 Aspect完成的,所以为面向方面编程。
    利用框架进行一个织入的行为weaving 把方面组件的代码,织入到目标对象,这是框架提供的功能。不同框架采用不同的时机。编译时、装载时、运行时。
    编译时织入:代码在运行的时候已经织入好了,运行速度快。但因为时机早,运行时的条件还不清楚。
    运行时织入:运行时织入,比较灵活。一边运行一遍织入,效率低
    连接点JoinPoint织入目标对象位置,织入属性上,构造器上,静态上,成员方法里。
    主要做两件事:
    声明切点,通过表达式声明。
    实现具体通知,具体的织入逻辑
    请添加图片描述
    Spring织入程序是代理的方式
    请添加图片描述
    示例
    请添加图片描述
    首先声明为某一个Bean,让容器去管理,通过@Component说明不属于某特定层。@Aspect声明这是一个方面组件。
    请添加图片描述
    需要定义两个内容,第一个切点,织入到那些bean的具体的位置。
    请添加图片描述
    请添加图片描述
    业务组件的一开始记录日志,记录日志的格式,用户某某在某一个时刻访问了某功能某方法。
    在这里插入图片描述

  • 相关阅读:
    c++程序实例
    基于JavaSwing开发打飞鸟游戏 课程设计 大作业 毕业设计
    Python执行 nohup 导致僵尸进程问题. /usr/bin/sh -> /usr/bin/bash
    【Redis】11.缓存同步
    npm入门使用介绍
    vm虚拟机硬盘扩充(linux)
    >>数据管理:DAMA简介
    面试题:Java中为什么只有值传递?
    2022-08-24 第六小组 瞒春 学习笔记
    Java的继承
  • 原文地址:https://blog.csdn.net/xue_hua_c/article/details/127692711