课外趣学
文章平均质量分 73
学习其它有趣的知识
sco5282
这个作者很懒,什么都没留下…
展开
-
【Sa-Token】SpringBoot 整合 Sa-Token 快速实现 API 接口签名安全校验
/ 参加完活动后,发送余额 Long userId = 1L;// 计算 sign String sign = md5("money=" + money + "&userId=" + userId + "&key=" + secretKey);注意:此处计算签名时,需要将所有参数按照字典顺序依次排列(key除外,挂在最后面)原创 2023-07-14 11:33:28 · 3258 阅读 · 0 评论 -
【加密算法】5 种常见的摘要、加密算法
那么上面提到的这些能力,我们都可以利用哪些加密算法来实现呢?咱们接着往下看。加密算法整体上可以分为:不可逆加密、可逆加密。可逆加密又可以分为:对称加密、非对称加密。原创 2023-06-30 17:09:27 · 1551 阅读 · 0 评论 -
【SpringBoot】使用 OkHttp 完成网络请求
依赖:工具类:接口:请求测试:原创 2022-12-04 20:18:41 · 2291 阅读 · 0 评论 -
【SpringBoot】Spring Boot 实现接口防刷
AOP + 自定义注解 + Redis 实现接口防刷。原创 2022-11-04 15:50:49 · 628 阅读 · 0 评论 -
【SpringBoot】Spring Boot 实现接口的幂等性
调用方在调用接口的时候先向后端请求一个全局 ID(Token),请求的时候携带这个全局 ID 一起请求(Token 最好将其放到 Headers 中),后端需要对这个 Token 作为 Key,用户信息作为 Value 到 Redis 中进行键值内容校验,如果 Key 存在且 Value 匹配就执行删除命令,然后正常执行后面的业务逻辑。如果不存在就抛异常,返回重复提交的错误信息。针对客户端连续点击或者调用方的超时重试等情况,例如:提交订单,此种操作就可以用 Token 的机制实现防止重复提交。原创 2022-11-04 12:03:01 · 777 阅读 · 1 评论 -
【SpringBoot】三种常见的数据脱敏方案
大家可以根据自己的想法添加其它的脱敏规则(我只想脱敏一部分数据,并指明从哪开始,从哪结束)。要做成可配置多策略的脱敏操作,要不然一个个接口进行脱敏操作,重复的工作量太多。定义数据脱敏注解和数据脱敏逻辑的接口, 在返回类上,对需要进行脱敏的属性加上,并指定对应的脱敏策略操作。4、自定义 AnnotationIntrospector,适配我们自定义注解返回相应的Serializer。由于 Java 8 中新增了许多函数式接口,所以,这里就不需要我们自定义接口了,可以直接使用函数式接口。方案三、自定义注解实现。.原创 2022-09-01 15:31:20 · 9278 阅读 · 3 评论 -
【SpringBoot】SpringBoot 集成 Minio、OSS
MinIO 是一款基于 Go 语言发开的高性能、分布式的对象存储系统。简单来说:就是可以存视频、图片 等。可以创建一个 bucket。原创 2022-08-31 16:42:21 · 1166 阅读 · 0 评论 -
【SpringBoot】SpringBoot 读取配置文件中的自定义属性的 5 种方法
SpringBoot 配置文件的格式有两种:yml、properties。有些方法都适用,但有些方法就有针对性了。注解可以用来指定读取某个配置文件,比如指定读取。就是使用 Properites 对象读取。读取配置文件(properties)注入到类中就可以使用它的。方法来获取某个配置项的值了。...原创 2022-08-30 16:25:34 · 3235 阅读 · 0 评论 -
【SpringBoot】工具类中如何获取 Spring 的 Bean
1、在一个没有被 Spring 管理的 Bean 中,我们要去使用被 Spring 管理的 Bean,该怎么做?很显然,@Autowired 注解不管用。因为扫描不到 @Autowired,所在的类并未被 Spring 管理。2、在工具类中,在一个静态方法中需要调用被 Spring 管理的 Bean,@Autowired 也无法注入静态属性。假若说,我需要在一个工具类中获取 fileConfig的 Bean。其实就是:要获取到 Spring 容器的 Bean!上述获取 Bean 可以通过名称、类型!...原创 2022-08-30 15:49:08 · 1644 阅读 · 0 评论 -
【SpringBoot】三种方式,教你读取 jar 包中的 resources 目录下的文件
但部署后,项目是通过打成 jar 包运行的,里面的文件是没有实际路径的(只有相对于项目名的相对路径)。此方法默认也是从 classpath 路径(即:src 或 resources 路径下)下查找文件的,但它的路径前为什么需要加 “/” 呢?此方法默认是从 classpath 路径(即:src 或 resources 路径下)下查找文件的,所以,路径前不需要加 “/”。因为最后肯定是打包部署的,所以掌握针对后者的这种方式来读取文件是很有必要的。这个是跟要读取的文件与当前.class 文件的位置有关。...原创 2022-08-07 14:44:19 · 32668 阅读 · 4 评论 -
【Cron】学习:cron 表达式
1. 玩某些游戏的时候,发现他的排行榜并不是时时更新的,而是每半个小时,或者一个小时更新一次。2. 又比如很火的王者荣耀手游,它的日常任务,都是每天5点进行更新。那么,这些时间控制,到底是由谁控制得如此精准呢?原来,这些都是corn表达式的功劳。## 1. 了解 Cron 表达式cron 表达式:由 ==**若干数字、空格、符号**== 按一定的规则组成的一组字符串,从而表达时间的信息。类似于正则表达式。原创 2022-02-11 14:19:21 · 8794 阅读 · 0 评论 -
【SpringBoot】使用 SpringBoot 手把手教你打出优雅的后端接口
前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范!此文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松。开发环境IDEA-2020.2.4MAVEN-3.6Sprin原创 2022-01-18 21:32:05 · 1097 阅读 · 0 评论 -
【动态代理】CGLIB 动态代理的使用及原理
JDK 的中动态代理类位于 java.lang.reflect 包下,一般主要涉及到以下两个类:原创 2021-12-11 23:06:22 · 11062 阅读 · 2 评论 -
【动态代理】JDK 动态代理的使用及原理
在说动态代理之前,还是简单地回顾一下静态代理吧。1. 静态代理应用场景:学生交作业给老师。现在想通过静态代理的方式,让班长(代理类)代替学生(被代理类)交作业给老师。为了让代理类与被代理类有相同的行为,那么,通过会让被代理类去实现一个接口,而且,被代理类也会去实现相同的接口。如下:静态代理案例Person:公共接口public interface Person { // 交作业的方法 void handOut();}Student:被代理类public class Stu原创 2021-12-11 17:55:59 · 540 阅读 · 0 评论 -
【HttpClient】在 SpringBoot 中使用 HttpClient 实现 HTTP 请求
越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。...原创 2021-11-25 22:19:21 · 15123 阅读 · 3 评论 -
【HttpURLConnection】使用 HttpURLConnection 后台模拟实现 HTTP 请求
在 SpringBoot 工程中,通过 HttpURLConnection 类来实现 HTTP 请求吧。类 HttpURLConnection 是 JDK 自带的。它的应用场景:在自己的工程中,你想调用第三方接口(外部接口)来获取数据,那么 HttpURLConnection 类就可以实现。接下来通过两个小案例来进行实现吧。开发步骤:先开发外部接口再开发内部接口在内部接口中,通过类 HttpURLConnection 去调用外部接口为了测试方便,我这里就将外部接口、内部接口,全写在通过一个原创 2021-11-21 19:07:59 · 2040 阅读 · 0 评论 -
【Zip】使用 SpringBoot 实现 zip文件的导入和导出
了解到有两种解压 zip 文件的方式:org.apache.tools.zip.ZipFile ;SpringBoot 自带的 net.lingala.zip4j.core.ZipFile。这里选择第二种。原创 2021-11-18 22:43:25 · 5104 阅读 · 1 评论 -
【Excel】使用 SpringBoot 实现 Excel 文件的导入与导出
为了大家能更好地理解这篇博文,在看之前,建议去看看我的上一篇博文:【File】使用 SpringBoot 实现文件的上传与下载这两篇博文互有联系:文件的导入就是文件的上传;文件的导出就是文件的下载。至于为什么是 导入/导出 Excel 文件呢?因为 Excel 文件用的频率更多吧。顺便来复习下通过 EasyExcel 来操作 Excel 文件。...原创 2021-11-14 20:46:39 · 30163 阅读 · 0 评论 -
【File】使用 SpringBoot 实现文件的上传与下载
文件的上传与下载在实际项目中用得挺多,所以,今天就在这里总结下。这篇博客不仅仅是完成一个文件上传/下载的功能,更重要的是规范编码吧:日志记录、入参/返参校验、方法职责单一等。开发环境:1.IDEA 2020.22.Maven 3.6.03.SpringBoot 2.0.0.RELEASE1. 单个文件的上传新建一个 SpringBoot 工程,工程结构图如下:POM 依赖:<dependency> <groupId>org.springframework.bo原创 2021-11-12 00:12:41 · 4507 阅读 · 5 评论 -
【PDF】使用 SpringBoot 导出 PDF 文件
使用 iText 导出 pdf 表格iText 是一种生成 PDF 报表的 Java 组件,先把 jar 包下下来,maven 依赖如下:<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.0.6</version></dependency>1. Hello World原创 2021-11-09 23:14:49 · 5592 阅读 · 7 评论 -
【Excel】Java 操作 Excel 的两种方式:POI、EasyExcel
1. 了解 POI 和 EasyExcelJava 中,常见的用来操作 Excel 的方式有 2 种:POI、EasyExcel。主要用于:对 Excel 进行导入、导出。POI:Apache。一种原生操作 Excel(复杂)HSSF : 读写 Microsoft Excel XLS 格式文档XSSF : 读写 Microsoft Excel OOXML XLSX 格式文档SXSSF : 读写 Microsoft Excel OOXML XLSX 格式文档(优化)EasyExcel:更像原创 2021-10-06 14:27:39 · 2116 阅读 · 0 评论