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

白云商城网站建设wordpress插件太大

白云商城网站建设,wordpress插件太大,广州一共几个区,wordpress添加分类文档简介#xff1a;上一篇文章“JAVA语言—AOP基础”已经详细的介绍了AOP的各个功能接口#xff0c;已经使用步骤#xff0c;这篇文章就是基于此来做的一个小案例。案例的功能是记录登录的用户对于数据库表的相关信息进行增、删、查、改的操作记录下来#xff0c;并且存储到数… 简介上一篇文章“JAVA语言—AOP基础”已经详细的介绍了AOP的各个功能接口已经使用步骤这篇文章就是基于此来做的一个小案例。案例的功能是记录登录的用户对于数据库表的相关信息进行增、删、查、改的操作记录下来并且存储到数据库中 目录 1、需求分析 2、操作步骤 2.1 引入起步依赖 2.2 创建表结构引入实体类 2.3 自定义注解MyLog 2.4 创建切面类 3、总结 1、需求分析 操作日志 记录登录用户的操作日志并且存储到服务器数据库中。日志信息包含操作人、操作时间、执行方法的全类名、执行方法名、方法运行时的参数、返回值、方法执行时长。 思路分析 需要对所有业务类中的增、删、查、改 方法添加统一功能使用AOP技术最为方便。由于增、删、查、改的方法名没有规律可以通过注解annotation和自定义注解完成目标方法匹配。 2、操作步骤 准备 在案例中引入AOP的起步依赖导入准备好的数据库表结构并引入对应的实体类 编码 自定义注解 Log定义切面类完成记录操作日志的逻辑 2.1 引入起步依赖 图2.1-1 添加依赖 2.2 创建表结构引入实体类 创建日志表结构代码如下 -- 操作日志表 create table operate_log(id int unsigned primary key auto_increment comment ID,operate_user int unsigned comment 操作人ID,operate_time datetime comment 操作时间,class_name varchar(100) comment 操作的类名,method_name varchar(100) comment 操作的方法名,method_params varchar(1000) comment 方法参数,return_value varchar(2000) comment 返回值,cost_time bigint comment 方法执行耗时, 单位:ms ) comment 操作日志表; 引入实体类代码如下 package com.itheima.tliaswebmanagement.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.time.LocalDateTime;Data AllArgsConstructor NoArgsConstructor public class OperateLog {private Integer id; //IDprivate Integer operateUser; //操作人IDprivate LocalDateTime operateTime; //操作时间private String className; //操作类名private String methodName; //操作方法名private String methodParams; //操作方法参数private String returnValue; //操作方法返回值private Long costTime; //操作耗时 }2.3 自定义注解MyLog 因为采用Annotation注解来实现定义切面类所以需要提前创建自定义注解代码如下。 package com.itheima.tliaswebmanagement.aop;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Retention(RetentionPolicy.RUNTIME) //元注解指定注解什么时候生效 Target(ElementType.METHOD) //元注解指定作用在什么地方 public interface MyLog { }上面的代码首先是在根目录下创建一个anno包在这个包里面创建一个MyLog注解。 2.4 创建切面类 创建AOP切面类用以在用户对于数据库表的相关信息进行增、删、查、改的操作记录下来并且存储到数据库中。 package com.itheima.tliaswebmanagement.aop;import com.alibaba.fastjson.JSONObject; import com.itheima.tliaswebmanagement.mapper.OperateLogMapper; import com.itheima.tliaswebmanagement.pojo.OperateLog; import com.itheima.tliaswebmanagement.utils.JwtUtils; import io.jsonwebtoken.Claims; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import java.time.LocalDateTime; import java.util.Arrays;Slf4j Component Aspect public class LogAspect {Autowiredprivate HttpServletRequest httpServletRequest;Autowiredprivate OperateLogMapper operateLogMapper;Around(annotation(com.itheima.tliaswebmanagement.aop.MyLog))public Object recordLog(ProceedingJoinPoint joinPoint) throws Throwable {log.info(around ... before ... );//操作人ID - 当前登录员IDString jwt httpServletRequest.getHeader(token);Claims claims JwtUtils.parseJWT(jwt);Integer operateUser (Integer) claims.get(id);//操作时间LocalDateTime operateTime LocalDateTime.now();//操作类名String className joinPoint.getTarget().getClass().getName();//操作方法名String methodName joinPoint.getSignature().getName();//操作方法参数Object[] args joinPoint.getArgs();String methodParams Arrays.toString(args);//原始方法运行前long begin System.currentTimeMillis();//调用原始目标方法运行Object result joinPoint.proceed();//原始方法运行后long end System.currentTimeMillis();//方法返回值String returnValue JSONObject.toJSONString(result);//操作耗时Long costTime end - begin;//记录操作日志log.info(around ... after ... );OperateLog operateLog new OperateLog(null, operateUser, operateTime, className, methodName, methodParams, returnValue, costTime);operateLogMapper.insert(operateLog);log.info(AOP 操作日志: {}, operateLog);return result;} }因在代码中已经将相应代码的功能作用做出了注释就不在做多余说明。 3、总结 以上就是关于AOP案例-记录操作日志的小案例分享希望大家能给个点赞支持。
http://www.pierceye.com/news/753430/

相关文章:

  • 狼雨seo网站河北省建设集团有限公司网站首页
  • 如何建双注册网站一嗨租车网站建设的功能特色
  • 陕西正天建设有限公司网站wordpress 筛选
  • 产品展示网站方案2022年国内重大新闻
  • 网站的支付接口对接怎么做深圳品牌网站建设服务
  • 哈尔滨网站快速排名网站采集被降权
  • 做网站要钱吗学校网站建设调查问卷
  • 重庆网站建设招标网站建设网站建设教程
  • 权威的广州h5网站seo网站分析工具
  • 美食网站要怎么做游戏优化大师下载安装
  • vip解析网站怎么做的做网站需要注册商标多少类
  • 一般做网站宽高多少网页调用 wordpress 图片编辑器
  • 简述网站建设的基本过程word模板免费下载网站
  • 页面好看的蛋糕网站wordpress路由插件
  • 网站建站四种方案深圳网站建设维护
  • 企业网站优化的方案游戏网页设计图片
  • 烟台html5网站建设wordpress主题 亚马逊
  • 个人网站做电商wordpress.php扩张
  • c2c电子商务网站定制开发校园网建设网站特色
  • 企业网站制作公司有哪些做手机网站公司
  • 怎么做flash网站设计惠州做网站公司哪家好
  • 网站开发文档下载餐饮vi设计一套多少钱
  • 平湖网站建设公司克正规的网店平台有哪些
  • 网站建设销售求职网络营销推广引流方法
  • 深圳网站建设官网网站背景素材
  • 建设部网站安全考核证书查询平面设计的素材网站
  • 郑州制作个人网站网站个人备案做企业网站
  • 昆明有网站的公司专注网站平台推广公司
  • 网站建设酷隆莲湖免费做网站
  • 网站建设内容保障制度什么网站权威评价搜索引擎优劣