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

网站上线有什么线上活动可以做龙华建网站多少钱

网站上线有什么线上活动可以做,龙华建网站多少钱,查找网站备案号,音乐网站用什么语言做夫陶公清风千古#xff0c;余又何人#xff0c;敢称庶几 文章目录前言一、系统日志是什么二、开发技术三、开发步骤3.1引入依赖坐标3.1.1 导入Lombok3.1.2 数据库连接依赖3.1.3 spring aop依赖3.1.4 aspectJ依赖3.1.5 Druid连接池#xff08;阿里巴巴#xff09;3.1.6 myb… 夫陶公清风千古余又何人敢称庶几 文章目录前言一、系统日志是什么二、开发技术三、开发步骤3.1引入依赖坐标3.1.1 导入Lombok3.1.2 数据库连接依赖3.1.3 spring aop依赖3.1.4 aspectJ依赖3.1.5 Druid连接池阿里巴巴3.1.6 mybatis-plus依赖3.2配置application.yml3. 3编写实体类3.4.1系统用户实体3.4.2 日志实体3.4 编写日志注解3.5 编写通知类3.6 编写mapper3.6.1 LogMapper3.6.2 UserMapper3.6.3 编写mybaits-plus配置类3.7 编写service层3.7.1 UserService接口3.7.2 UserService实现代码四、代码测试4.1 编写测试类4.2 测试添加用户4.3 测试查看所有用户总结前言 本文是对面向切面编程的简单应用。下文中用到的是后置通知实现日志的记录当该方法执行以后记录相关的日志信息。AspectJ中常用的注解 AspectJ定义一个切面 Before前置通知 AfterReturning后置通知 Around环绕通知 AfterThrowing异常通知 After最终通知 提示以下是本篇文章正文内容下面案例可供参考 一、系统日志是什么 系统日志是记录系统中硬件、软件和系统问题的信息同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。 二、开发技术 idea 2019SpringBootMybatisPlusDruid连接池 三、开发步骤 3.1引入依赖坐标 3.1.1 导入Lombok dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.16/versionscopeprovided/scope /dependency3.1.2 数据库连接依赖 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.48/version /dependency3.1.3 spring aop依赖 dependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion5.2.12.RELEASE/version /dependency3.1.4 aspectJ依赖 dependencygroupIdorg.springframework/groupIdartifactIdspring-aspects/artifactIdversion5.2.12.RELEASE/version /dependency3.1.5 Druid连接池阿里巴巴 dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.4/version /dependency3.1.6 mybatis-plus依赖 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.1/version /dependency3.2配置application.yml server:port: 8088 spring:datasource:type: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://localhost:3306/aop-test?useSSLfalseuseUnicodetruecharacterEncodingUTF-8username: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driver代码如下示例 3. 3编写实体类 3.4.1系统用户实体 /*** p用户实体/p* author XinLiu */ Data ToString TableName(value sysUser) public class SysUser {/*** 主键*/TableIdprivate String id;/*** 用户名*/TableField(name)private String name;/*** 密码*/TableField(password)private String password;/*** 创建时间*/TableField(createDate)private Date createDate; } 对应的数据表: 3.4.2 日志实体 /*** p日志实体/p* author XinLiu */ Data ToString TableName(log) public class SysLog {/*** 主键*/TableIdprivate String id;/*** 访问的类名*/TableField(className)private String className;/*** 执行的操作*/TableField(methodName)private String methodName;/*** 创建日志时间*/TableField(createDate)private Date createDate;} 对应的数据表: 3.4 编写日志注解 Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) Documented public interface Log {/*** 执行操作的名称* return 操作名*/String value() ; } 3.5 编写通知类 这里其实是面向切面编程的典型应用此处日志的实现用到了后置通知也就是当访问的方法正确返回时执行此后置通知。首先我们需要编写一个切入点也就是声明要执行那个方法或者那些方法前面我们自定义了一个注解Log此注解有一个属性value它的作用是用于保存执行指定操作的名称接下来我们需要编写一个后置通知也就是增强的方法方法需要一个参数JoinPoint joinPoint通过它可以获得Log注解通过反射可以获得注解上的值这个值就是操作名称我们需要保存到日志表中编写好通知后我们就可以保存我们需要保存的日志信息了比如访问者用户名、请求参数、请求的URI、请求者IP地址、执行的操作等等。 /**p通知类/p* author XinLiu */ SuppressWarnings(all) Component Aspect public class LogAdvice {Autowiredprivate LogMapper logMapper;/*** 配置切入点*/Pointcut(annotation(com.qingfeng.aoptest.common.anno.Log))private void serviceAspect() {}/*** 后置通知用于记录日志** param joinPoint* return* throws Throwable*/AfterReturning(serviceAspect())public void doBefore(JoinPoint joinPoint) throws Throwable {MethodSignature methodSignature (MethodSignature) joinPoint.getSignature();Method method methodSignature.getMethod();Log log method.getAnnotation(Log.class);SysLog sysLog new SysLog();sysLog.setId((UUID.randomUUID().toString()).replaceAll(-, ));sysLog.setClassName(joinPoint.getTarget().getClass().getName());sysLog.setMethodName(log.value());sysLog.setCreateDate(new Date());logMapper.insert(sysLog);} } 3.6 编写mapper 3.6.1 LogMapper 简单解释一下这里继承了一个BaseMapperSysLog类通过继承该类 我们就可以使用mybatis plus里的方法里面实现常用的操作比如CRUD。 public interface LogMapper extends BaseMapperSysLog { }3.6.2 UserMapper /*** p系统用户数据层/p* author XinLiu*/ public interface UserMapper extends BaseMapperSysUser { }3.6.3 编写mybaits-plus配置类 这是一个配置类Configuration注解的作用是将此类交给ioc容器处理MapperScan(com.qingfeng.aoptest.mapper)的作用是扫描该包路径下的所有mapper接口简化每次都要在mapper类上添加注解Mapper如果配置了此类就可以不用写Mapper注解了。 Configuration MapperScan(com.qingfeng.aoptest.mapper) public class MybatisPlusConfig { }3.7 编写service层 3.7.1 UserService接口 /*** author XinLiu*/ public interface UserService extends IServiceSysUser {/*** 用户注册* param sysUser 用户实体* return*/public boolean reg(SysUser sysUser);/*** 查询所有的用户* return*/public ListSysUser queryAllUser(); }3.7.2 UserService实现代码 Service public class UserServiceImpl extends ServiceImplUserMapper,SysUser implements UserService {Autowiredprivate UserMapper userMapper;/*** 用户注册** param sysUser 用户实体* return*/OverrideLog(用户注册)public boolean reg(SysUser sysUser) {return userMapper.insert(sysUser)0;}OverrideLog(查询所有的用户)public ListSysUser queryAllUser() {return userMapper.selectList(new QueryWrapperSysUser());} }四、代码测试 4.1 编写测试类 SpringBootTest RunWith(SpringRunner.class) class AopTestApplicationTests {Autowiredprivate UserService userService;Testvoid contextLoads() {}}4.2 测试添加用户 Test public void testReg(){System.out.println(userService);SysUser sysUser new SysUser();sysUser.setCreateDate(new Date());sysUser.setId((UUID.randomUUID().toString()).replaceAll(-,));sysUser.setName(admin);sysUser.setPassword(123456);userService.reg(sysUser);}运行结果 4.3 测试查看所有用户 Testpublic void testFindAll(){ListSysUser sysUsers userService.queryAllUser();sysUsers.forEach(sysUser - System.out.println(sysUser));}运行结果 总结 提示这里对文章进行总结 例如以上就是今天要讲的内容本文仅仅简单介绍了如何通过注解的方式实现日志以及AspectJ的使用 对一个小白入门是有一些帮助的此文也有很多东西未实现因为没有写前端所有日志中没有保存访问的用户。
http://www.pierceye.com/news/684545/

相关文章:

  • 域名购买网站个人怎么在百度上打广告
  • 阳江市建设路龙源学校网站物流公司 网站模板
  • 迪庆州建设局网站做营销网站建设挣钱吗
  • 定制网站类似wordpress 简单
  • 数据库对于做网站的重要性商城模板网站模板
  • 梧州高端网站建设服务企业网站建设源码
  • 团购网站优化德州seo排名
  • 网站首页引导页中文简洁网站设计图
  • 娱乐网站排行榜在线商城网站开发代码
  • 手机网站设计通用尺寸上海外贸人才网
  • 智慧团建网站密码格式高端终端网站设计类网站
  • 福田网站设计网站建设平台方案
  • 荆州企业网站建设天津网站优化步骤
  • 网站怎么怎么做关键字长沙网站建设q.479185700強
  • 网站备案万网excel做网站
  • 十堰网站建设怎么做桐乡网站设计
  • 织梦商城网站模板网站设计的逻辑结构
  • 网站编辑器福建省工程建设信息官方网站
  • 网站的域名能修改么做设计网站的工作
  • 珠海选车牌号网站系统icp对网站内容
  • 东莞购物网站如何建立免费个人网站
  • 网站个别页面做seo建立有效的什么机制
  • 学校网站建设模板wordpress 年月归档
  • 凡科做的网站行不行京东慧采入驻条件及费用2023年
  • 汽车网站建设页面网站建设营销公司
  • 可以写代码的网站有哪些问题微信公众号的推广
  • 网站建设项目怎么写新网站一般多久收录
  • 什么网站可以免费发广告合肥做网站一般多少钱
  • 企业网站优化的方式大安市网站
  • 镇江专业网站建设制作wordpress调查插件