概括本篇主要是介绍项目的结构更改以及拦截器配置和视频分类数据库文件。项目结构更改1、将全局异常抽出到common目录下来进行统一管理。 2、在admin目录项新建interceptor目录来定义拦截器,当有请求访问后端地址时进行Token校验。拦截器定义创建一个类来实现HandlerInterceptor这个接口。通过实现该接口提供的方法来对请求前、请求中、请求后来进行处理,有点aop切面的味道。
概括最近工作用的git账号下发下来了,需要切换一下使用的账号。因为是第一次弄,不熟悉,现在记录一下。打开设置路径--git---git remotes,我这里选择项是Manage Remotes,点进去就可以了。之后会出现一个输入框,点击下面的origin,会出现第二个弹框,只需要将url输入框中的路径改成自己的就行。一般来说公司下发了git账号,如果说这里的url地址存的内容是这样格式的。htt
概括因为该项目涉及到双端:一个是用户端,一个是管理端。本章主要是对管理端进行基础的登录、验证码接口进行配置。登录接口因为管理端限制了用户进行注册,只能通过内部提供的账号进行登录。所以登录的校验逻辑就是获取用户输入的信息和配置文件中的内容进行比对是否一致。如果获取配置文件中的内容上一篇已经提过来,不在赘述。补充,这个项目使用的是yml的配置文件,和上篇的properties有所不同,所以贴一下视频中
概括在开发过程中,对于一些通用的配置,通常会定在一个配置文件中。通常为application.properties或者application.yml文件中。我们只需要在需要使用的地方通过注解直接获取即可。使用在springboot中可以通过使用@value注解来读取配置文件中的属性。注解的引用一定要是springframework提供的注解,不要引入错误。例如下面的代码import org.spr
概括本章主要是完成三个接口分别为:登录、自动登录、退出,这三个接口。会提供工具类的代码仅供参考。登录接口登录接口的业务逻辑主要是先判断验证码是否正确,然后获取登录人的ip地址,以及封装最后登录时间数据更新到用户表中。最后删除Redis中的验证码数据。考虑到重复登录的情况,可以把上一次的登录存的Token删除掉。在登录完成后,可以通过后端的方式把Token塞到cookie中,方便后续的使用。自动登录
概括通过上一期,完成了项目和数据库的基础结构的搭建,接下来主要是完成项目的注册功能。该功能模块主要分为有两个接口,一个是验证码接口,一个是注册接口。让我们开始吧!验证码接口验证码的生成主要配合下面这个依赖来完成验证码的图片生成,然后将信息返回给前端,前端生成图片展示。验证码依赖<dependency> <groupId>com.github.whvcse</g
概括通过定义全局异常处理器可以集中管理所有的异常,避免了在每个方法或类中分别进行异常处理。这样可以简化代码,避免重复代码,同时也可以确保异常处理的规则和风格一致。如何定义在springboot中可以通过自带的两个注解来进行完成。分别是@RestControllerAdvice和@ExceptionHandler 来配合使用完成。第一步:自定义一个异常定义好这个异常的属性,一般是状态值,信息值,这两
概括主要记录我在开发中使用Arrays.asList然后出现的问题,仅供参考。为什么使用Arrays.asList?起初是因为我在进行数据的类型转换的时候,需要把一些数据装成List,就直接突方便使用了这个api。遇见了什么问题?第一个问题在我对基本数据类型的数组进行转换的时候,在遍历的过程中,一直报错,拿不到数据,所以最后通过打印List的大小,最终发现了奇怪点,用基础数据类型出来的List的大
概括通过上一期,完成了项目的基础结构的搭建,接下来主要是完成项目的注册和登录功能的编写。让我们开始吧!1、数据库搭建这里需要创建一个名为easylive的数据库,然后创建一个user_info表,下面是表的字段和注释。我这里数据库的可视化界面用的是DBeaver,不是Navicat Mysql,所以可视化界面不一样,但是没有关系,核心是一样的就行。创建完表之后,还需要创建一些索引,这里分别创建了n
概括在日常的业务场景中,新增作为一个普通的操作。当特定的逻辑需要进行校验,例如时有涉及到时间的字段,统一条件下,时间段不能重叠来保证时间的严谨性。那么应该怎么做呢?解决方案通过编写sql来进行查询校验,如果包含了对应的时间段,就统计一下,这样当结果大于0时,则说明有时间片重叠。代码这里我按照4个核心参数来进行查询,分别是名称、日期,开始时间,结束时间。也就是相同的名称在同一天中,不能出现时间段重复
概括在b站上寻找项目的时候,发现了程序员老罗的这个项目感觉挺好的,现在开始学习记录。学习视频链接点击前往学习项目准备项目环境jdk8mysql5.7reidsffmpegmavenidea项目搭建1、项目结构该项目主要分为web端(面向用户),admin端(面向管理员)、common模块(一些公共的方法),这三个模块进行搭建,详细的资料在视频中可以获取, 直接搭建即可。2、环境配置1、配置mave
概括在最近的开发任务中,涉及到了一些页面的排序,其中最为常见的就是时间的降序和升序。这个有的前端控件就可以完成,但是对于一些无法用前端控件的,只能通过后端来进行解决。后端的解决方法就是使用mybatis的动态sql拼接。如何使用在mybatis中提供了丰富的动态sql拼接的标签,这里采用我们常用的,where、if、choose 、when 来进行完成。代码准备这里先声明一下,可以和前端约定传递的
概括在之前的工作环境中,在controller中一般通过传递实体类和字段来进行数据的获取。最近在工作中要求使用map来进行数据的传递,所以记录一下。通过springmvc的注解来获取该方式是比较通用的方式,通过springmvc提供的注解例如@RequestBody,@RequestParam,@PathVariable这几个注解来进行数据的接收。@IgnoreAuth @RequestMappi
基本知识消息队列所谓的消息队列,其实就是一个先进先出的数据结构,通过使用RocketMQ可以完成应用解耦、流量削峰、数据分发。应用解耦 通过对高耦合的业务进行拆分,让各个业务之间的关联性不那么强,能够保证业务的流畅性。 例如:用户创建订单后,耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障都会造成下单异常,影响用户使用体验。使用消息队列解耦合,比如物流系统发生故障,需要几分钟恢复,将物
插入优化批量插入 在进行批量插入时,建议单次的数据量在500-1000左右即可。如果数据量比较大,最好将其分割成多条语句进行分批插入。手动提交事务主键顺序插入大批量插入数据 如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MVSOL数据库提供的l0ad指令进行插入。操作如下:#在连接数据库时,添加--local-infile mysql --loacl-infile -
什么是索引?索引是数据库中一种重要的数据结构,它用于提高数据检索的速度。可以将索引视为书籍的目录,通过目录可以快速找到某一章节而无需逐页翻阅。索引在数据库管理系统(DBMS)中起到加速查询、优化性能的重要作用。使用索引的优缺点优点:提高查询速度加速排序和分组缺点占用额外空间降低数据更新速度索引结构我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引。二叉树b树b+树在b+树中所有的数据
什么是事务?MySQL 的事务是指一组操作,这些操作作为一个单元被执行,确保在执行过程中要么全部成功,要么全部失败。事务的基本概念是在数据库管理系统中保证数据一致性和完整性的重要机制。事务通常用于处理多个数据库操作,以确保这些操作要么一起提交,要么一起回滚。事务的特性MySQL 事务遵循 ACID 原则,这四个特性分别是:原子性 (Atomicity):事务中的所有操作要么全部完成,要么全部不执行
Linux当在阅读这篇文章的时候,这里默认已经购买过云服务器或者在本地搭建了虚拟机环境。环境安装安装软件的三种方式rpm解压缩yum在线安装安装Java环境1、下载jdk8安装包可以通过访问这个网址:点击这里然后找到下面这两个,随便下载一个就可以。这里我采用的事rpm安装。所以下载了第一个。下载完成后,通过xftp上传到虚拟机上。我这里上传后的位置在home文件夹中,直接通过命令进入home文件夹
概括本章涉及到的内容包括:基本属性、文件内容、vim编辑器、账号管理、用户组管理、磁盘管理、进程管理。基本属性查看目录通过 ls -ll 命令查看更目录下的文件夹这里可以看到前缀有很多的字符,说明一下各个字符的含义。l :代表的是 link,链接,d:代表的是 dir,目录,r:代表的是 read,读权限,w:代表的是 write,写权限,x:代表的是 执行权限。在后面还有两列root。
前提当在阅读这篇文章的时候,这里默认已经购买过云服务器或者在本地搭建了虚拟机环境1、预热关机: shutdownshutdown -h 10 # 10分钟之后关机 shutdown -h now # 立马关机 shutdown -h 20:14 #会在20点14分关机 shutdown -h +10 #十分钟后关机 shutdown -r now # 立马重启 shutdown -r +10 #十
常用的消息推送方式轮询什么是轮询? 游览器以一定的时间间隔去发送http请求个服务器,之后服务器再响应实时的数据给游览器。轮询的优点 实现简单、兼容性强轮询的缺点 容易造成请求浪费,因为存在间隔,所以会导致数据不是最新的数据。造成服务器资源的浪费长轮询什么是长轮询? 游览器发送ajax请求,服务器收到请求后,会阻塞请求,直到数据更新后或者超时才返回数据给游览器。长轮询的优点 相对于轮询来说,更新的
登录概括若依的登录分为两大部分,一个是登录校验部分,一个是登录信息处理。 先说登录信息处理。登录信息处理public String login(String username, String password, String code, String uuid) { // 验证码校验 validateCaptcha(username, code, uuid)
通过注解和切面实现登录验证在系统的开发过程中,需要对接口的访问权限进行控制。也就是俗话说的不同的角色访问的接口权限不同。 接下来我会通过注解和切面的方式来实现登录验证。第一步:定义注解首先定义一个注解类GlobalInterceptor, 设置这两个注解,分别为 作用目标,这里设置为方法, @Target(ElementType.METHOD) 执行时机,这里设置为运行时 @Retention(R
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号