07 2021 档案
摘要:1.问题描述 对表的主键使用的是雪花策略生成的id,在java中的Long类型的,但在前端精度丢失,现象如下: { "id": 1297373218628307972 } 上面假如是后端使用jackson传递给前端的,前端接收的id的值却变成了1297373218628307000。 原因是Java
阅读全文
摘要:Spring的事件通知机制是一项很有用的功能,使用事件机制可将相互耦合的代码解耦,从而方便功能的开发。 1.入门案例 1.1环境准备 新建一个SpringBoot的项目,导入web的依赖,编写一个controller接口: package com.zys.springboottestexample.
阅读全文
摘要:1.去除自带黑色边框 当打开抽屉(el-drawer)时,默认会对标题加上黑色边框,如下图: 仔细发现,整个抽屉的body也会有黑色边框。看起来很丑吧,可通过css去掉: /deep/ :focus { outline: 0; } 需要注意的是,这里使用了deep。原因是在vue组件中,在style
阅读全文
摘要:1.定义 1.1概述 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。 这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML
阅读全文
摘要:有时可能不能使用注解的方式获取post请求中的json数据,而又需要获取请求的参数如何处理? 所有的请求都存在于HttpServletRequest对象中,那么只需要在此对象中获取即可: @RequestMapping("/user") public class UserController { /
阅读全文
摘要:AES是一种对称的加密和解密的算法,其用法如下: package com.zys.demo.util; import lombok.extern.slf4j.Slf4j; import javax.crypto.Cipher; import javax.crypto.spec.IvParameter
阅读全文
摘要:不知是什么原因,在对MySQL数据库的某一个表进行更新时,出现了异常"Lock wait timeout exceeded; try restarting transaction"。原因是这个表被锁住了。 解决办法当然是给这个表解锁了: 1)查询当前运行的所有事务 select * from inf
阅读全文
摘要:1.使用自带的Schedule SpringBoot中自带有定时任务,用法很简单。 第一步:在启动类上面开启定时任务的注解 @SpringBootApplication @EnableScheduling//开启定时任务 public class Demo2Application { public
阅读全文
摘要:当在el-aidlog中给某个标签使用ref属性后,获取时总是显示undefined,原因是在获取时el-dialog还未渲染完成。因此可使用nextTick中再获取 this.$nextTick(() => { this.$refs['image-upload'].showFileList() }
阅读全文
摘要:使用checkbox选中时有一个触发事件,那么触发事件可以调用下面的方法: //多选框选中事件 handleSelectionChange(val) { this.multipleSelection = [] //val是选中的数据的数组 val.forEach(item => { const id
阅读全文
摘要:邮件的发送也是使用较多的,下面进行说明。 1.准备工作 这里使用QQ邮箱进行发送邮件,所以要先开启POP3/SMTP服务或IMAP/SMTP服务,登陆网页版QQ邮箱,在设置中找到账户,在下面开启服务即可。 1)新建一个SpringBoot的项目,导入mail依赖 <dependency> <grou
阅读全文
摘要:当它们一起使用时,一般select长度是默认的,会比input短,只需要设置其宽度是100%即可。 .el-form-item .el-select { width: 100%; } 同理,el-date-picker也是类似的,但有所差别。 给其设置class, <el-date-picker v
阅读全文
摘要:要修改dialog的样式不能直接在<style scoped>中修改,这样修改后不会生效。做法是把scoped去掉,然后在dialog标签上自定义一个class,最好不要和其他的class同名,然后通过此class选择器再去修改里面的相关样式即可。 <template> <el-dialog tit
阅读全文
摘要:1.概述 即在JavaBean到JavaBean之间进行递归数据复制,并且这些JavaBean可以是不同的复杂的类型。Dozer把对象中名称相同的属性进行复制,对于名称不相同或类型不一样,则可以在xml中进行定义。 其最大的优势在于对象中不同的名称之前只要配置了映射,就可以进行复制,减少大量使用ge
阅读全文
摘要:1.BeanUtils.copyProperties spring有自带的对象复制的方法,在org.springframework.beans包下。 1)创建实体类 import lombok.Data; import java.util.Date; @Data public class User
阅读全文
摘要:Thymeleaf是新一代的java模板引擎,类似于FreeMarker。官网:https://www.thymeleaf.org。 1.Thymeleaf入门案例 1)导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar
阅读全文
摘要:有时候el-input由于嵌套的层级比较多,数据双向绑定无效。有两种解决方案,一是减少层级的嵌套,这对于必须嵌套多层的页面来说,无法解决。 第二种方法:在嵌套的无法进行动态绑定的页面的输入框上添加一个input事件,在input执行的方法中强制刷新数据: <template> <el-form :m
阅读全文
摘要:先上效果图: 说明:在table中,点击不同行的发送按钮,只有此行的按钮进行加载,请求后台成功后停止加载。 具体看代码(只有前台代码): <template> <el-table :data="userList" border fit class="user_table"> <el-table-co
阅读全文
摘要:1.基本原理 spring security的核心是用户认证(Authentication)和用户授权(Authorization)。 用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。一般要求用户提供用户名和密码。 用户授权指的是验证某个用户是否有权限执行某个操作。在一
阅读全文
摘要:整合持久层就是和数据库打交道,这里以mysql为例。 1.准备工作 首先创建一个数据库和表,代码如下: create database test1 default character set utf8; use test1; CREATE TABLE `book` ( `id` int(11) NO
阅读全文
摘要:先看效果图: 以上是一个表单,俱乐部的名称是必填的;俱乐部成员是一个table数据,至少有一个,且可以点击添加按钮添加多个 ,但动态添加的行都需要进行表单验证。这里演示说明,电话没有做正则验证。代码如下: <template> <el-dialog :visible.sync="dialogVisi
阅读全文
摘要:分模块就是将一个项目分成多个模块,即maven项目。 1.创建一个springboot的项目 第一步:选择springboot的项目 第二步:填写项目的相关信息,主要是下图的红框部分,改成自己的即可,这里就使用默认的,项目名是demo 第三步:选择所需要的依赖,这里就只添加web和lombok,其他
阅读全文
摘要:1.概述 Swagger是一款测试文档Api接口,具体用法见SpringBoot整合Swagger。而knife4j是对Swagger进一步封装,其优化了api文档的界面。官网https://doc.xiaominfo.com/knife4j/documentation/。 2.实战演练 2.1环境
阅读全文
摘要:1.概述 1.1定义 Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。简单来说,它可以对API 自动生成在线文档,无需手动编写接口文档。另外其文档还支持在线测试,可直接对接口进行测试。 1.2注解 其主要依赖于注解,部分关键注解说明如下:
阅读全文
摘要:springboot的war想要在tomcat服务器上运行,必须添加配置。 1.继承并重写 让启动类继承SpringBootServletInitializer,并重写configure方法,关键代码如下 @SpringBootApplication public class UploadDemoA
阅读全文
摘要:1.基本思想 简单的说,就是引入了一些相关依赖和一些初始化的配置。主要是基于它的起步依赖和自动配置。 1.1起步依赖 把具备某些功能的坐标打包到一起,简化依赖导入。 比如导入了spring-boot-starter-web这个starter,那么和web相关的jar包都一起自动导入到项目中了,下图可
阅读全文