当前位置: 首页 > wzjs >正文

备案 网站名称 怎么改网站如何让百度收录

备案 网站名称 怎么改,网站如何让百度收录,网站设计目的与规划,中关村手机报价大全提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录记录用户操作日志思路1.OperateLog注解2.AOP切面类3.示例代码片段记录用户操作日志 金融、交易类应用的日志Log非常重要,这类应用的业务包含了日志记录逻…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 记录用户操作日志
    • 思路
    • 1.@OperateLog注解
    • 2.AOP切面类
    • 3.示例代码片段


记录用户操作日志

  • 金融、交易类应用的日志Log非常重要,这类应用的业务包含了日志记录逻辑,比如记录用户的交易记录。
  • 对于重要的日志数据,我们是一定要持久化到数据库和磁盘上的,还有一些日志的数据,则是为了方便运营人员的操作记录。

思路

在 Java 开发中,@OperateLog 通常是一个自定义注解,主要用于记录用户操作日志,是系统日志管理模块的常见实现方式。它的作用是通过注解标记需要监控的方法,配合 AOP(面向切面编程)技术,在方法执行前后自动记录操作详情(如操作人、操作时间、操作内容、操作结果等),避免在业务代码中硬编码日志记录逻辑,实现日志功能与业务逻辑的解耦。

通过Aspect代理我们真正的业务逻辑对象,添加日志记录的逻辑,只需要在Service层方法上加入@OperateLog注解即可

工作原理

  • 标记方法:在需要记录日志的方法上添加@OperateLog注解,并指定相关属性(如module = “用户管理”, type = “删除”)。
  • AOP 切面拦截:定义一个 AOP 切面类,通过@Around或@AfterReturning等注解拦截被@OperateLog标记的方法。
  • 自动记录日志:在切面中通过反射获取注解属性和方法的上下文信息(如参数、用户信息、执行时间等),并将这些信息保存到日志表(如你之前提到的t_system_operate_log)中。

1.@OperateLog注解

  • 接口调用日志:标记 Controller 层的接口方法,记录用户的 HTTP 请求(如登录、新增、修改、删除等操作)。
  • 业务操作追踪:标记 Service 层的核心业务方法,记录关键业务流程的执行情况(如订单创建、权限变更等)。

注解通常包含的属性
自定义的@OperateLog注解可能会定义一些属性,用于描述操作的具体信息,例如:

@Target(ElementType.METHOD) // 注解作用在方法上
@Retention(RetentionPolicy.RUNTIME) // 运行时保留,可通过反射获取
public @interface OperateLog {// 操作模块(如“用户管理”“订单管理”)String module() default "";// 操作类型(如“新增”“删除”“查询”)String type() default "";// 操作描述(如“用户XXX删除了订单XXX”)String desc() default "";// 是否记录请求参数boolean recordParams() default true;// 是否记录返回结果boolean recordResult() default true;
}

2.AOP切面类

// AOP切面类(简化版)
@Aspect
@Component
public class OperateLogAspect {@Autowiredprivate OperateLogService logService;// 拦截所有被@OperateLog标记的方法@Around("@annotation(operateLog)")public Object recordLog(ProceedingJoinPoint joinPoint, OperateLog operateLog) throws Throwable {// 1. 前置处理:获取操作人、请求参数等信息String username = SecurityContextHolder.getContext().getAuthentication().getName();Object[] params = joinPoint.getArgs();// 2. 执行原方法Object result = joinPoint.proceed();// 3. 后置处理:记录日志到数据库OperateLogPO logPO = new OperateLogPO();logPO.setModule(operateLog.module());logPO.setType(operateLog.type());logPO.setOperateContent(operateLog.desc());logPO.setOperateUser(username);logPO.setOperateTime(new Date());// ... 其他字段赋值logService.save(logPO);return result;}
}

3.示例代码片段

// 控制器方法中使用@OperateLog
@RestController
@RequestMapping("/user")
public class UserController {@DeleteMapping("/{id}")@OperateLog(module = "用户管理", type = "删除", desc = "删除指定ID的用户")public Result deleteUser(@PathVariable Long id) {// 业务逻辑:删除用户userService.delete(id);return Result.success();}
}
http://www.dtcms.com/wzjs/377139.html

相关文章:

  • 做的网站如何放在电脑上企业培训师资格证报考2022
  • asp网站如何发布武汉百度推广优化
  • 网站建设功能评估表软文写作模板
  • 金普新区城乡建设局网站张家口网站seo
  • php网站超市正规的培训机构有哪些
  • 网站开发任务完成情况网络安全培训
  • 深圳全网站建设公司手机优化大师官网
  • 中国今日重大新闻优化排名seo
  • 建材网站做环保类型思路武汉seo首页优化技巧
  • 现在的网站是用什么软件做的百度竞价规则
  • 广州建设水务局网站网站seo推广排名
  • 小学微机作业做网站球队排名榜实时排名
  • 简易静态网站制作流程图2024新闻热点事件
  • 品牌网站建设培训方案模板
  • 上海中高端网站建设net的网站建设
  • 用Html5做网站成人职业技术培训学校
  • 连云港 网站设计怎么发外链
  • wordpress主题森林 终身四川seo推广公司
  • 怎么做独立网站怎样做百度推广
  • 做旅游网站怎么做呀优化大师软件下载
  • 河南焦作有做网站开发的公司吗网络推广公司口碑
  • 企业网上注册登记系统旺道seo系统
  • 安徽省住房和城乡建设厅官方网站什么是网络销售
  • 怎么建设自己个人网站网站新站整站排名
  • 做模板网站简单吗百度搜索引擎排行榜
  • 企业所得税怎么计算seo综合
  • 在深圳做it的要做赌博网站吗软文平台有哪些
  • 是先做网站还是先备案免费做网站自助建站
  • 优秀网站的链接口碑营销公司
  • erp沙盘模拟杭州网站优化平台