SpringBoot
文章平均质量分 81
SpringBoot学习
passerbyYSQ
一个普通蒟蒻的成长之路
展开
-
最详细的SpringBoot实现接口校验签名调用
验签是指第三方系统在调用接口之前,需要按照原系统的规则根据所有请求参数生成一个签名(字符串),在调用接口时携带该签名。原系统会验证签名的有效性,只有签名验证有效才能正常调用接口,否则请求会被驳回。原创 2023-07-04 11:27:37 · 7384 阅读 · 6 评论 -
踩坑,结合profile深入理解spring.config.additional-location
但按照我对他的文字理解和验证结果对不上。下面结合源码和验证结果,简单说一下我对这个规则的理解。原创 2023-02-21 17:27:56 · 1483 阅读 · 0 评论 -
分布式环境下使用RSA算法实现登录密码的加密传输
RSA是一种非对称加密算法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。原创 2022-09-27 00:32:10 · 2528 阅读 · 3 评论 -
【史上最详细,没有之一】Spring【三级缓存】解决【循环依赖】的流程梳理,原理和核心代码分析
一. 前言1. Spring版本:5.2.4.BUILD-SNAPSHOT2. 本文着重点1. 梳理解决循环依赖的整个流程(流程比较长,源码很长,陷得很深,着重于理清整个流程,不要抠细节)2. 三级缓存的变化(要理清三级缓存如何变更)3. 关键代码验证(不要过于抠细节)由于源码跟踪很难用图片去说明,因此涉及到核心代码,我会:标注出类名和方法名。至于如何追踪到某处代码,自己跟一遍源码。二. 概念明晰为了后面的讲述便于理解,在此之前先明晰几个下问将会出现多次的概念。1. 半成原创 2021-03-12 01:18:07 · 4869 阅读 · 2 评论 -
SpringBoot只需要几行代码,就可以防XSS攻击
前言可能很多同学在学习过程中自己做项目,很容易忽略XSS攻击。网上不少博客的自定义全局拦截器来实现XSS过滤,其实不需要这么麻烦,SpringBoot留有不少钩子(扩展点),据此我们可以巧妙地实现全局的XSS过滤。防止XSS攻击,一般有两种做法:1、转义Spring有提供工具类HtmlUtils来实现转义。个人比较喜欢这种方式,所以下面代码均采用转义处理。2、过滤敏感标签(将敏感标签去除)jsoup实现了非常强大的clean敏感标签的功能,但是我对jsoup了解并不多。接下来的原创 2021-02-23 00:13:05 · 1095 阅读 · 6 评论 -
SSM整合EasyPoi,解决图片导出报错ArrayIndexOutOfBoundsException
参考博客:https://blog.csdn.net/qq_34988540/article/details/83050187https://blog.csdn.net/breakaway_01/article/details/103895099前言最近由于JavaWeb期末作品的需求,在SSM项目中引入了EasyPoi,用于将订单数据导出为Excel。说一下遇到的两个坑手动导入jar包由于项目是和组员共同编码的,一开始就用的手动导入jar包,没有使用maven。Easy...原创 2020-12-29 17:18:19 · 1274 阅读 · 0 评论 -
PageHelper实现多条件的分页查询,封装页码按钮的生成逻辑,对接后端接口
效果图难点分析PageHelper的引入和使用,这里我就不多说了。有了PageHelper,后端的分页查询就非常简单了。要实现携带多条件的分页查询,前端要如何跟后端接口对接呢?在开始代码之前,先来依次思考和分析下面的问题,然后再来整理思路,最后看代码。问题1:前端需要传给后端什么参数?(1)page:当前页。理应由前端传给后端,但是前端的传参有可能超出实际范围(比如说,一共才有10页,用户传参11,那么后端应该返回第10页的数据,而不应该返回空数据),这就必须交由后端来纠正之后,再原创 2020-12-28 00:25:54 · 2732 阅读 · 0 评论 -
【Springboot文件上传】前后端双开,大文件秒传、断点续传的解决方案和优雅实现
效果图Demo体验地址:http://easymall.ysqorz.top/file/upload(不保证长期有效)思路和解决方案探讨秒传这里指的 “秒传”,是指:当用户选择上传一个文件时,服务端检测该文件之前是否已经被上传过,如果服务器已经存有该文件(完全一样),就立马返回前端 “文件已上传成功”。前端随即将进度条更新至100%。 这样给用户的感觉就是 “秒传” 的感觉。对于每一个上传到服务器的资源,我们都需要往数据库的 db_file 表插入一条记录,每条记录都包含文件的MD原创 2020-11-22 21:36:54 · 1768 阅读 · 1 评论 -
【SpringBoot】防止API接口被刷(频繁访问),以及代码执行sql脚本
前言最近在b站看vue的实战视频,其中需要搭建服务端的api接口,以给vue请求使用。学习资料里面提供了api的项目代码。在本地运行,每次都要启动,有点麻烦。使用老师搭建的api,由于是公用的,数据库数据经常被其他学习的同学删除或修改。为了一劳永逸,也为了各位小伙伴一起愉快学习。我就用SpringBoot写了一个小程序,放到服务器运行。每天凌晨2点定时执行sql脚本,将数据库数据重新导入。同时为了紧急情况,提供了一个公开访问的api接口,随时可以通过访问该api,将数据库的数据重置。这样,如果一起原创 2020-08-29 02:25:34 · 3386 阅读 · 1 评论 -
SpringBoot + Shiro + Jwt 实现登录认证,代码分析
前言花了几天了解Shiro框架(也不算太深入),根据网上资料做了一个Demo:SpringBoot 2.2.9.RELEASE+ Shiro + Jwt 实现登录认证。1、这个Demo关注 登录授权(比较通用),基本不涉及权限控制,因为权限控制设计到具体业务。所以可以本Demo可以根据自身实际情况稍加修改,就可以作为前后端分离项目的登录模块。2、本博客适用于对Shiro和Jwt有了解,起码对于几个关键的类的作用及方法有了解,下面我不会展开,只会对Demo的思路和代码做分析。思路分析原创 2020-08-25 19:24:40 · 5699 阅读 · 2 评论 -
【SpringBoot】默认错误处理机制的源码大白话分析,以及自定义配置(遇坑)
前言SpringBoot版本:v2.2.6.RELEASE本博客,主要总结以下3个方面:一、SpringBoot的错误页面和数据 二、有关类的介绍 三、源码追踪,默认处理机制的流程 四、自定义错误数据本博客站在学习者的角度,以通俗的大白话、图文并茂地,将整个层次和思路清晰分明地呈现,相信如果耐心看完的同学,应该也会有不一样的收获。任何一个框架的源码都是一个庞大的体系,阅读源码,不须苛求理解代码的每个细节,而应该关注并理解主要(关键)代码的主体思路。最后,看完不妨点赞收藏?自己花了大半天原创 2020-07-30 00:41:09 · 436 阅读 · 0 评论