
SpringBoot
文章平均质量分 67
SpringBoot
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
不死鸟.亚历山大.狼崽子
太极计算机股份有限公司系统架构师,从事ios、.net、flex、java等开发
展开
-
Spring Boot(九十):集成SSE (Server-Sent Events) 服务器实时推送
Server-sent Events(SSE) 是一种基于 HTTP 协议的服务器推送技术,它允许服务器主动向客户端发送数据。与 WebSocket 不同,SSE 是单向通信,即服务器可以主动向客户端推送数据,而客户端只能接收数据。原创 2025-04-11 19:48:56 · 334 阅读 · 0 评论 -
Spring Boot(八十九):集成encache
Ehcache是一种广泛使用的开源Java分布式缓存,是Hibernate中默认的CacheProvider。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。原创 2024-10-08 15:53:17 · 356 阅读 · 0 评论 -
Spring Boot(八十八):集成apache fileupload 实现文件上传下载
Apache Commons FileUpload 提供了一种简单的方法来支持HTTP协议中的multipart/form-data类型的数据处理,这通常用于在网页上上传文件。通过这个库,你可以轻松地将文件上传功能集成到你的服务器端代码中,无论是传统的Servlet还是现代的Web框架。1.1 项目技术分析简洁API:FileUpload提供了一个清晰的API,使得处理文件上传请求变得非常直接。原创 2024-09-29 14:33:38 · 373 阅读 · 0 评论 -
Spring Boot(八十七):集成opencc4j实现中文简繁转换
OpenCC4J是OpenCC的Java版本,OpenCC是一个开源的简体字到繁体字转换工具,它支持多种转换配置,包括字符转换、短语替换等。OpenCC4J可以用来将简体字文本转换为繁体字文本,它是一个基于Java的开源库,可以方便地在Java项目中使用。序号api 方法简介1转为简体2转为繁体3返回包含的简体列表4返回包含的繁体列表5返回单个汉字对应的所有简体字列表6返回单个汉字对应的所有繁体字列表7是否全部为简体8单个字符是否为简体9字符中是否为包含简体10。原创 2024-08-28 13:27:35 · 1039 阅读 · 0 评论 -
Spring Boot(八十六):Spring Boot集成SM4国密加密算法
目前市面上流行的加密算法有很多,接下来本文将介绍国密加密算法 SM4进行介绍。SM4国密算法:是一种分组对接的加密算法。原创 2024-08-23 14:49:54 · 768 阅读 · 0 评论 -
Spring Boot(八十五):集成Apache PDFBox对pdf文件进行操作
Apache PDFBox是一个强大的Java库,它可以用来读取、修改和创建PDF文件。在本教程中,我们将介绍如何在Spring Boot项目中集成PDFBox来实现PDF文件的读取与导出功能。原创 2024-08-06 11:28:19 · 899 阅读 · 0 评论 -
Spring Boot(八十四):集成Thumbnailator来生成缩略图
Thumbnailator是一个用于Java的缩略图生成库。通过Thumbnailator提供的流畅接口(fluent interface)的方式可以完成复杂的缩略图处理任务,无需访问Image I/O API并通过Graphics2D对象手动操作BufferedImages。原创 2024-08-04 17:50:42 · 639 阅读 · 0 评论 -
Spring Boot(八十三):Spring Boot不借助第三方工具实现接口签名认证
首先,不要直接发起请求,而是先计算一个 sign 参数:这边不使用postman进行演示,直接使用一段客户端代码:由于使用md5,需要引用jar包。// 声明变量// 计算 sign 参数// 此 MessageDigest 类为应用程序提供信息摘要算法的功能// 转换为MD5码// 将 sign 拼接在请求地址后面注意此处计算签名时,需要将所有参数按照字典顺序依次排列(key除外,挂在最后面)。以下所有计算签名时同理,不再赘述。/*** 为指定用户添加指定余额。原创 2024-07-30 01:56:32 · 161 阅读 · 0 评论 -
Spring Boot(八十二):SpringBoot通过rsa实现API加密
项目中使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密。下面开始代码演示。原创 2024-07-25 15:14:55 · 610 阅读 · 0 评论 -
Spring Boot(八十一):Sa-Token快速实现API接口签名安全校验
不限制请求的参数数量,方便组织业务需求代码。自动补全 nonce、timestamp 参数,省时省力。自动构建签名,并序列化参数为字符串。一句代码完成 nonce、timestamp、sign 的校验,防伪造请求调用、防参数篡改、防重放攻击。原创 2024-07-18 20:04:15 · 3313 阅读 · 0 评论 -
Spring Boot(八十):Tesseract实现图片文字自动识别
下载训练好的Tesseract模型文件(.traineddata文件),以支持车牌号码识别。从 GitHub仓库(https://github.com/tesseract-ocr/tessdata)以获取最新版本的 .traineddata 文件,也可以使用https://raw.githubusercontent.com/tesseract-ocr/tessdata/main/chi_sim.traineddata 直接下载。创建Spring Boot控制器,处理上传和识别请求。原创 2024-07-10 21:31:33 · 1302 阅读 · 0 评论 -
Spring Boot(七十九):SprngBoot整合Apache tika做文件类型检测
下面我们介绍Apache tika实现文件类型检测。原创 2024-07-08 12:05:08 · 990 阅读 · 0 评论 -
Spring Boot(七十八):实现API 多版本控制
在以SpringBoot开发Restful接口时,由于模块,系统等业务的变化,需要对同一接口提供不同版本的参数实现(老的接口还有模块或者系统在用,不能直接改,所以需要不同版本)。如何更加优雅的实现多版本接口呢?网上很多自定义版本注解的方法,但是我不太建议这样做,因为硬编码和增加系统的维护成本。而且springboot本身就很好的支持多版本,没有必要再去造轮子。原创 2024-06-04 15:36:20 · 1003 阅读 · 0 评论 -
Spring Boot(七十七):SpringBoot实现接口内容协商功能
favorPathExtension 后缀模式,例如:xxx.json,xxx.xmlfavorParameter format模式,例如:xxx?通过请求的 Accept 来决定返回的值。原创 2024-06-03 22:42:12 · 291 阅读 · 0 评论 -
Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。原创 2024-06-01 16:46:02 · 1313 阅读 · 1 评论 -
Spring Boot(七十五):使用Banner增强应用程序的品牌标识
Spring Boot Banner 是一个用于在应用程序启动时显示自定义 ASCII 艺术和信息的功能。这个 ASCII 艺术通常包括项目名称、版本号、作者信息等。Banner 的主要作用是增强应用程序的品牌标识,同时提供一种友好的欢迎方式,让用户或开发人员在启动应用程序时感到愉快。通过在启动时显示自定义 ASCII 艺术和信息,你可以为你的项目增加独特的标识,提高用户体验。Banner 可以包含欢迎信息,用于向用户或团队成员传达有关应用程序的信息。原创 2024-06-01 11:52:37 · 66 阅读 · 0 评论 -
Spring Boot(七十四):集成Guava 库实现布隆过滤器(Bloom Filter)
布隆过滤器有很多实现和优化,由 Google 开发著名的 Guava 库就提供了布隆过滤器(Bloom Filter)的实现。在基于 Maven 的 Java 项目中要使用 Guava 提供的布隆过滤器,只需要引入以下坐标。原创 2024-05-31 11:09:53 · 1442 阅读 · 0 评论 -
Spring Boot(七十三):集成mapstruct实现实体类映射
在项目中经常会用到DO,BO,DTO,VO等对象的相互转化,这就需要一个高效通用的转化工具,毕竟每个字段get/set方法会很麻烦。MapStruct 就是这样的一个属性映射工具,只需要定义一个 Mapper 接口,MapStruct就会自动实现这个映射接口,避免了复杂繁琐的映射实现。mapstruct是一实体类映射框架,能够通过Java注解将一个实体类的属性安全地赋值给另一个实体类。原创 2024-05-17 22:34:23 · 303 阅读 · 0 评论 -
Spring Boot(七十二):集成JSch连接到sshd服务器并使用端口转发
JSch是SSH2的纯Java实现。JSch允许您连接到sshd服务器并使用端口转发,X11转发,文件传输等,并且可以将其功能集成到您自己的Java程序中。原创 2024-04-08 23:33:38 · 374 阅读 · 0 评论 -
Spring Boot(七十一):整合RateLimiter实现接口限流
RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证。如果必要的话,每个acquire() 会阻塞当前线程直到许可证可用后获取该许可证。一旦获取到许可证,不需要再释放许可证。RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,比如你希望自己的应用程序QPS不要超过1000,那么RateLimiter设置1000的速率后,就会每秒往桶里扔1000个令牌;原创 2024-03-20 11:05:36 · 1039 阅读 · 0 评论 -
Spring Boot(七十):利用Jasypt对数据库连接进行加密
Jasypt(Java Simplified Encryption)是一个专注于简化Java加密操作的工具。它提供了一种简单而强大的方式来处理数据的加密和解密,使开发者能够轻松地保护应用程序中的敏感信息,如数据库密码、API密钥等。Jasypt的设计理念是简化加密操作,使其对开发者更加友好。它采用密码学强度的加密算法,支持多种加密算法,从而平衡了性能和安全性。原创 2024-03-17 23:12:56 · 578 阅读 · 0 评论 -
Spring Boot(六十九):利用Alibaba Druid对数据库密码进行加密
Spring Boot(六十六):集成Alibaba Druid 连接池这章使用Alibaba Druid进行数据库密码加密,在上面的代码上进行修改,这章只介绍密码加密的步骤。目前越来越严的安全等级要求,我们在做产品研发和项目开发时,越来越需要注意安全问题,各种账号密码的在配置文件中明文存储就是一个很大的安全隐患。现针对数据库密码加密方面,利用druid进行数据库加密,实现项目配置文件中数据库密码密文存储,一定程度上保证了数据安全。原创 2024-03-17 18:36:13 · 545 阅读 · 0 评论 -
Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析
Apache Tika 是一个开源的内容检测和分析框架,由Apache软件基金会开发和维护的顶级项目。它可以从各种格式的文件中提取元数据和文本内容。Tika非常适合处理全文搜索、内容分析、翻译、内容提取等需要大量处理和分析文档内容的任务。Apache Tika提供了多种使用方式,既可以使用图形化操作页面(tika-app),又可以独立部署(tika-server)通过接口调用,还可以引入到项目中使用。原创 2024-03-15 11:31:50 · 1089 阅读 · 0 评论 -
Spring Boot(六十七):多线程ThreadPoolTaskExecutor使用
到了springboot这里,因为引入了spring-boot-autoconfigurer,自动装配机制,在task包下,直接把ThreadPoolTaskExecutor注入到bean容器里面。所以在springboot项目中,如果要使用线程池,可以直接使用,都不用额外任何配置。在spring框架中,spring提供了ThreadPoolTaskExecutor来创建线程池,该类在spring-context包下。扩展ThreadPoolTaskExecutor类。原创 2024-03-11 00:16:19 · 577 阅读 · 0 评论 -
Spring Boot(六十六):集成Alibaba Druid 连接池
在现代的Java应用中,使用一个高效可靠的数据源是至关重要的。Druid连接池作为一款强大的数据库连接池,提供了丰富的监控和管理功能,成为很多Java项目的首选。本文将详细介绍如何在Spring Boot项目中配置数据源,集成Druid连接池,以实现更高效的数据库连接管理。原创 2024-03-06 23:30:35 · 329 阅读 · 0 评论 -
Spring Boot(六十五):使用 ant.jar 执行 SQL 脚本文件
ant用处,主要用在编译java文件,打包,部署。打包:jar,war,ear包等。ant在项目中有很重要的作用。今天我们讲解它的另一个作用:执行 SQL 脚本文件。原创 2024-02-05 17:13:23 · 1201 阅读 · 0 评论 -
Spring Boot(六十四):获取 Spring Boot 应用进程的 PID
ApplicationPidFileWriter 是 Spring Boot 提供的一个 Listener,它可以在应用启动后把 PID 写入到指定的文件。它需要在启动前,通过编程式配置到应用中,并且需要在配置文件中指定要写入 PID 的文件。原创 2024-02-03 21:53:23 · 856 阅读 · 0 评论 -
Spring Boot(番外):防止反编译之Jar包加密
在单模块中此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。那么使用此方案就比较麻烦,配置复杂,文档难懂,各模块之间的调用在是否混淆时极其容易出错。只需要在启动类的pom.xml文件中加如下插件即可,需要注意的是,改插件时要放到spring-boot-maven-plugin插件后面,否则不起作用。这样,打包好的项目只能在生成机器码的机器运行,其他机器则启动不了项目。讲解过,采用proguard-maven-plugin插件。将此生成好的机器码,放到maven插件中的code里面即可。原创 2024-01-31 21:21:16 · 582 阅读 · 0 评论 -
Spring Boot(番外):防止反编译之代码混淆
就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码:如果不想让别让看到我们的代码,常用手段有代码混淆和jar包加密。下面我们讲一下代码混淆。原创 2024-01-31 10:09:27 · 328 阅读 · 0 评论 -
Spring Boot(六十三):使用sfpt实现简单的文件下载及上传
而SFTP协议是在FTP的基础上对数据进行加密,使得传输的数据相对来说更安全。但是这种安全是以牺牲效率为代价的,也就是说SFTP的传输效率比FTP要低(不过现实使用当中,没有发现多大差别)。之前项目遇到从文件服务器上传、下载、删除文件,一开始打算使用一些高级的文件系统,比如:FastDFS,GlusterFS,CephFS,这些高级厉害的文件存储系统,但是由于环境限制无法搭建,最终使用常用的FFTP或者SFTP实现文件上传和下载。2.SFTP更安全,但更安全带来副作用就是的效率比FTP要低些。原创 2023-03-16 22:22:04 · 1674 阅读 · 0 评论 -
Spring Boot(六十二):多图片上传加回显
异常处理用了Springboot提供的全局异常处理机制。只需要在类上加入@ControllerAdvice注解即可。在方法上加入@ExceptionHandler(想要拦截的异常类)就能拦截所有Controller的异常了。如果想要拦截指定为特定的Controller只需要在@ControllerAdvice(basePackageClasses=想要拦截的Controller)下面来讲述在不使用第三方插件的情况下实现多图片回显,下面新建一个springboot项目。原创 2023-03-16 00:24:00 · 110 阅读 · 0 评论 -
Spring Boot(六十一):实现接口返回数据脱敏实现
当返回对象比较复杂,需要递归去反射,性能一下子就会降低,于是换种思路,我想到平时使用的 @JsonFormat,跟我现在的场景很类似,通过自定义注解跟字段解析器,对字段进行自定义解析,tql。(1)要做成可配置多策略的脱敏操作,要不然一个个接口进行脱敏操作,重复的工作量太多,很显然违背了“多写一行算我输”的程序员规范。思来想去,定义数据脱敏注解和数据脱敏逻辑的接口, 在返回类上,对需要进行脱敏的属性加上,并指定对应的脱敏策略操作。3.4 覆盖ObjectMapper。3.6 编写测试接口。原创 2023-03-15 16:14:59 · 572 阅读 · 0 评论 -
Spring Boot(六十):整合Current-Limiting实现接口限流
CurrentLimiting:基于令牌桶算法和漏桶算法实现的纳秒级分布式无锁限流插件,完美嵌入SpringBoot、SpringCloud应用,支持接口限流、方法限流、系统限流、IP限流、用户限流等规则,支持设置系统启动保护时间(保护时间内不允许访问),提供快速失败与CAS阻塞两种限流方案,开箱即用。原创 2023-02-16 12:32:27 · 224 阅读 · 0 评论 -
Spring Boot(五十九):Sa-Token-Quick-Login插件快速登录认证
试想一下,假如我们开发了一个非常简单的小系统,比如说:服务器性能监控页面, 我们将它部署在服务器上,通过访问这个页面,我们可以随时了解服务器性能信息,非常方便。然而,这个页面方便我们的同时,也方便了一些不法的攻击者,由于这个页面毫无防护的暴露在公网中,任何一台安装了浏览器的电脑都可以随时访问它!你马上就会发现,写个监控页你一下午就可以搞定,然而这个登录页你却可能需要花上两三天的时间,这是一笔及其不划算的时间浪费。为此,我们必须给这个系统加上一个登录认证,只有知晓了后台密码的人员才可以进行访问。原创 2023-02-10 23:30:52 · 553 阅读 · 0 评论 -
Springboot:The dependencies of some of the beans in the application context form a cycle.循环依赖bug解决
SpringBoot2.6 正式发布:循环依赖默认禁止。如上提供解决方案为将spring.main.allow-circular-references 设置为 true,来自动中断循环。原创 2023-02-10 21:58:23 · 147 阅读 · 0 评论 -
Spring Boot(五十八):Retry实现重试机制
发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后重处理就能成功.通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码.然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能.原创 2023-02-08 12:37:57 · 360 阅读 · 0 评论 -
Spring Boot(五十七):SpringBoot实现验证码功能
1 理解 “ 服务器 / 浏览器 ”沟通流程(3步)第1步:浏览器使用原创 2023-01-24 16:27:29 · 177 阅读 · 0 评论 -
Spring Boot(五十六):基于Redis的搜索栏热搜功能
【代码】Spring Boot(五十六):基于Redis 搞定搜索栏热搜功能。原创 2023-01-17 23:22:52 · 1727 阅读 · 1 评论 -
Spring Boot(五十五):基于redis防止接口恶意刷新和暴力请求
代码中redis的使用的是分布式锁的形式,这样可以最大程度保证线程安全和功能的实现效果。代码中设置的是1S内同一个接口通过同一个ip访问5次,就将该ip禁用1个小时,根据自己项目需求可以自己适当修改,实现自己想要的功能;下面的教程,通过intercept和redis针对url+ip在一定时间内访问的次数来将ip禁用,可以根据自己的需求进行相应的修改,来达到自己的目的。下面只讲解大致步骤,不详细讲解,需要完整代码的可以自行下载。原创 2023-01-17 16:15:18 · 1143 阅读 · 0 评论 -
Spring Boot(五十四):SpringBoot事件监听机制
SpringBoot 在项目启动时,会对几个监听器进行回调,我们可以实现这些监听器接口,在项目启动时完成一些操作。SpringBoot 的监听机制,其实是对Java提供的事件监听机制的封装。原创 2023-01-16 18:33:55 · 981 阅读 · 0 评论