
springboot
文章平均质量分 92
springboot
Yaml墨韵
热爱编程、熟悉全栈开发,商务合作或者有开发需求可加文章底部vx,期待与大家共同进
展开
-
SpringBoot实战:高效实现API限流策略
你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。原创 2024-12-02 16:00:00 · 1688 阅读 · 0 评论 -
异步编程优化:@Async与CompletableFuture的优雅结合
1. 简介@Async和 CompletableFuture是实现异步处理的强大工具组合。@Async是Spring框架提供的一个注解,用于标记方法以表明它将在Spring管理的线程池中的另一个线程上异步执行。这使得开发人员能够在不阻塞主线程的情况下执行耗时的任务,从而提高应用程序的整体性能和响应速度。是Java 8引入的一个强大的类,它代表了一个可能尚未完成的计算的结果。提供了丰富的API来支持异步编程模式,如回调、组合操作、错误处理等。通过将@Async与结合使用,可以实现更高效的异步任务处理。原创 2024-12-02 09:46:17 · 1038 阅读 · 0 评论 -
Java定时任务全解析:从基础到高级
单机定时任务的常见解决方案有TimerDelayQueue、Spring Task 和时间轮,其中最常用也是比较推荐使用的是时间轮。另外,这几种单机定时任务解决方案同样可以实现延时任务。Redis 和 MQ 虽然可以实现分布式定时任务,但这两者本身不是专门用来做分布式定时任务的,它们并不提供较为完整和强大的分布式定时任务的功能。而且,两者不太适合执行周期性的定时任务,因为它们只能保证消息被消费一次,而不能保证消息被消费多次。因此,它们更适合执行一次性的延时任务,例如订单取消、红包撤回。原创 2024-11-30 14:00:00 · 866 阅读 · 0 评论 -
全面解析:常见加密算法及其应用
这篇文章介绍了三种加密算法:哈希算法、对称加密算法和非对称加密算法。哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术,可以用来验证数据的完整性和一致性,常见的哈希算法有 MD、SHA、MAC 等。对称加密算法是一种加密和解密使用同一个密钥的算法,可以用来保护数据的安全性和保密性,常见的对称加密算法有 DES、3DES、AES 等。非对称加密算法是一种加密和解密使用不同的密钥的算法,可以用来实现数据的安全传输和身份认证,常见的非对称加密算法有 RSA、DSA、ECC 等。原创 2024-11-29 10:30:00 · 1824 阅读 · 0 评论 -
SSO单点登录:全面详解与实现指南
1、定义单点登录(Single Sign - On,简称 SSO)是一种身份验证机制,它允许用户使用单一的凭据(如用户名和密码)访问多个相互信任的应用系统。在这种模式下,用户只需登录一次,就可以在不同的应用之间无缝切换,而无需为每个应用单独进行登录操作。2、优势用户体验提升:用户无需记住多个账号和密码,减少了登录操作的繁琐性,提高了用户体验。管理效率提高:对于企业来说,管理用户账号和权限变得更加简单,只需要在单点登录系统中进行统一的用户管理和认证授权。安全性增强。原创 2024-11-30 10:00:00 · 3389 阅读 · 0 评论 -
数据脱敏方案的实施与策略
数据脱敏百度百科中是这样定义的:数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。是数据库安全技术之一。总的来说,数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。原创 2024-11-29 14:45:00 · 1319 阅读 · 0 评论 -
Spring Boot 常用注解全面总结
Hibernate Validator 是 Hibernate 团队最初的数据校验框架,Hibernate Validator 4.x 是 Bean Validation 1.0(JSR 303)的参考实现,Hibernate Validator 5.x 是 Bean Validation 1.1(JSR 349)的参考实现,目前最新版的 Hibernate Validator 6.x 是 Bean Validation 2.0(JSR 380)的参考实现。拿我们在第 5 节参数校验这块来举例子。原创 2024-11-28 15:00:00 · 2040 阅读 · 0 评论 -
Spring 中的设计模式详解
定义一个事件: 实现一个继承自,并且写相应的构造函数;定义一个事件监听者:实现接口,重写方法;使用事件发布者发布消息: 可以通过的方法发布消息。// 定义一个事件,继承自ApplicationEvent并且写相应的构造函数// 定义一个事件监听者,实现ApplicationListener接口,重写 onApplicationEvent() 方法;@Component//使用onApplicationEvent接收消息@Override。原创 2024-11-26 09:09:02 · 1346 阅读 · 0 评论 -
SpringBoot 框架下高效敏感词过滤功能的完整实现方案
提供一种机制,允许用户根据自己的需求定义敏感词的替换规则。例如,可以将某些敏感词替换为指定的占位符或符号,以避免直接显示敏感内容。原创 2024-11-25 16:22:36 · 1166 阅读 · 0 评论 -
Spring Boot 与 EasyExcel 携手:复杂 Excel 表格高效导入导出实战
在企业级应用开发中,常常需要处理复杂的 Excel 表格数据。本方案将 Spring Boot 强大的后端框架与 EasyExcel 这一高效的 Excel 处理工具进行整合,实现了复杂 Excel 表格的导入与导出功能。对于导入功能,能够轻松应对包含多种数据类型、复杂结构以及大量数据的 Excel 文件。通过合理的配置和处理流程,确保数据的准确性和完整性,将 Excel 中的数据快速导入到系统中,为后续的数据处理和业务逻辑提供有力支持。原创 2024-10-31 10:50:23 · 2198 阅读 · 0 评论 -
Spring Boot 安全 API 构建:加密解密功能的卓越实践
如 RSA(Rivest-Shamir-Adleman),使用公钥和私钥对,公钥用于加密,私钥用于解密,适合加密少量数据和密钥交换。如 AES(Advanced Encryption Standard),适用于大量数据的快速加密和解密,但需要安全地管理密钥。如果可能,实现端到端加密,确保数据在整个传输过程中都是加密的,只有发送方和接收方能够解密。将密钥存储在安全的地方,如密钥管理系统或加密的配置文件中。监控加密相关的异常情况,如加密失败、密钥泄露等,并及时采取措施。原创 2024-10-30 10:35:51 · 1787 阅读 · 0 评论 -
Spring Boot整合EasyExcel:实现大规模数据的并行导出与压缩下载
本文介绍了使用Spring Boot和EasyExcel实现大规模数据高效导出的方法,通过数据分批处理、并行处理和文件压缩等技术手段,提升了导出效率并优化了用户体验,特别适用于需要处理大量数据的企业系统。原创 2024-10-29 10:47:13 · 1954 阅读 · 0 评论 -
Spring Boot:打造动态定时任务,开启灵活调度之旅
除了上面的借助cron表达式的方法,还有另一种触发器,区别于CronTrigger触发器,该触发器可随意设置循环间隔时间,不像cron表达式只能定义小于等于间隔59秒,在这个新的定时任务类中,我们可以从不同的配置文件中读取 cron 表达式,并且设置了一个不同的默认循环时间。例如,在一个电商系统中,可能需要根据不同的促销活动时间动态地调整订单处理任务的执行时间;在 Spring Boot 中设置动态定时任务是一种非常实用的功能,可以根据实际需求在运行时动态地调整定时任务的执行时间、频率等参数。原创 2024-10-28 16:19:33 · 2903 阅读 · 0 评论 -
SpringBoot 日志深度解析:轻松上手,快速精通!
在 Spring Boot 中可以自定义实现日志打印器级别的热更新。1、实现思路创建一个自定义的配置类,用于监听外部的配置变化事件,比如通过 HTTP 请求或者特定的配置文件变化来触发日志级别更新。在配置类中,使用 Spring 的注解来绑定外部配置源的属性到 Java 对象中,以便获取新的日志级别设置。利用 Spring 的发布一个自定义的事件,通知应用程序中的其他组件日志级别发生了变化。创建一个事件监听器,在接收到自定义事件时,更新日志打印器的级别。原创 2024-10-28 14:38:35 · 1059 阅读 · 0 评论 -
Spring Boot 结合 Disruptor:高并发订单处理的超强利器与性能实战
在高并发的场景下,订单处理的效率和性能至关重要。Spring Boot 集成 Disruptor 为高并发订单处理提供了强大的利器。Disruptor 是一个高性能的异步处理框架,它通过环形缓冲区和无锁算法实现了极低的延迟和极高的吞吐量。当与 Spring Boot 集成时,可以充分发挥其优势,提升订单处理系统的性能。在集成过程中,首先需要添加 Disruptor 的依赖到 Spring Boot 项目中。然后,定义订单事件类和事件处理类,用于表示订单数据和处理订单的逻辑。原创 2024-10-25 10:50:37 · 1373 阅读 · 0 评论 -
Spring Boot 那些超棒的内置功能详解
Spring Boot里面一些非常实用的内置功能,不得不说,Spring Boot简直就是开发者的宝藏工具箱。原创 2024-10-25 10:17:04 · 1439 阅读 · 0 评论 -
Elasticsearch 实战秘籍:高效搜索与数据分析全攻略
Elasticsearch 是一个基于 Lucene的开源分布式搜索和分析引擎。原创 2024-10-22 10:37:12 · 1444 阅读 · 0 评论 -
《@Transactional 注解:混乱使用之困与解决方案》
针对不同业务定制异常类型是比较常见的做法,@Transactional 注解的 rollbackFor 参数支持自定义的异常,但我们往往习惯于将这些自定义异常继承自 RuntimeException。那么这就出现和上边同样的问题,事务的范围不足,许多异常类型仍然无法触发事务回滚。try {想要解决这个问题,可以在 catch 中主动抛出我们自定义的异常。try {原创 2024-10-21 15:35:25 · 1015 阅读 · 0 评论 -
优化SpringBoot接口:异步处理提升系统吞吐量策略
每一次Http请求都由一个线程从头到尾处理。原创 2024-10-17 14:35:06 · 1325 阅读 · 0 评论 -
接口设计金规14条:打造高效、安全的API
今天给大家总结了接口设计的18条规章制度,希望对你会有所帮助。原创 2024-10-16 23:08:29 · 757 阅读 · 0 评论 -
Spring Security基础教程:从入门到实战
无论你选择以何种方式进行身份验证--是使用 Spring Security 提供的机制和提供商,还是与容器或其他非 Spring Security 身份验证机构集成--你都会发现授权服务可以以一致而简单的方式在你的应用程序中使用。在上面的示例中,都是基于配置文件进行用户的配置角色的设置,都是静态的信息,而实际工作中,都是需要从数据库中进行查询的。当环境中引入上面的依赖后,默认情况会对所有的请求都进行拦截,同时启动服务时会输出随机密码,而用户则默认是"user"。推荐订阅精彩专栏 👇🏻 避免错过下次更新。原创 2024-05-06 09:25:44 · 1496 阅读 · 4 评论 -
Spring Boot与RSocket实现高效实时数据通信
✌️大厂。原创 2024-05-08 14:35:48 · 1211 阅读 · 0 评论 -
案例分享:使用RabbitMQ消息队列和Redis缓存优化Spring Boot秒杀功能
✌️大厂。原创 2024-04-30 10:26:19 · 1462 阅读 · 0 评论 -
Spring Boot + 支付宝支付:一站式集成指南
✌️大厂。原创 2024-04-29 14:11:01 · 1724 阅读 · 0 评论 -
Spring Boot整合Elasticsearch
✌️大厂。原创 2024-04-29 09:42:44 · 2340 阅读 · 2 评论 -
Spring Boot与RabbitMQ整合:实现高可用消息队列服务
✌️大厂。原创 2024-04-28 09:32:24 · 2350 阅读 · 0 评论 -
Spring Boot携手OAuth2.0,轻松实现微信扫码登录!
✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。推荐订阅精彩专栏 👇🏻 避免错过下次更新。原创 2024-04-26 16:12:17 · 3756 阅读 · 1 评论 -
快速上手Spring Boot与Mybatis Plus集成:入门Demo详解
✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。推荐订阅精彩专栏 👇🏻 避免错过下次更新。原创 2024-04-26 09:17:44 · 877 阅读 · 0 评论 -
揭秘Spring Boot中@Transactional注解失效的七大坑点与修复之道
Service// 数据库操作throw new Exception("检查型异常");SpringBoot的事务管理功能非常强大,但是它也有一定的使用规则。了解并避免这些常见的事务失效场景,能帮助你更好地利用SpringBoot构建健壮的应用。希望这篇文章能帮助你少踩一些坑,顺利实现你的业务逻辑。原创 2024-04-23 14:16:33 · 5197 阅读 · 1 评论 -
RabbitMQ Spring Boot 配置与使用指南
目录1.yaml配置如下2.引入pom依赖如下2.1 引入项目resources下libs中的jar包依赖如下2.2引入maven私服依赖如下3.启动类配置如下4.项目中测试发送消息如下5.项目中消费消息代码示例6.mq管理后台交换机队列创建及路由绑定关系如下Spring Boot集成RabbitMQ入口: RabbitMQ实现消息队列生产者与消费者rps中的每一个都可以按照Sping官方的RabbitAutoConfiguration自动装配的RabbitProperties的样式来配置,做到了实现配置多原创 2024-04-22 13:48:39 · 2651 阅读 · 0 评论 -
Spring Boot集成RabbitMQ实现消息队列生产者与消费者
我们就以平时常见的商品购买为例,订单下完了,需要通知发货,我们就可以使用消息队列对其进行解耦。这边我们就定义订单队列。代码概览如下图所示@Bean@Bean//创建队列构造器并指定队列名称//如果队列持久化,这边不用设置队列过期时间//设置死信队列的RouteKey//设置死信队列的Exchange//创建队列。原创 2024-04-22 09:16:31 · 2252 阅读 · 0 评论 -
Vue结合ECharts与SpringBoot,实现高效数据库图表绘制
ECharts 提供了丰富的图表类型和交互功能,可以满足各种数据可视化需求,包括折线图、柱状图、饼图、雷达图、散点图等等。ECharts 的默认主题和样式非常漂亮,同时也支持自定义主题和样式,可以根据需求定制各种风格的图表。ECharts 支持在多种平台上使用,包括 PC、移动端以及各种主流浏览器,同时也支持响应式设计,适应不同屏幕大小。ECharts 的 API 设计简单易懂,文档详尽,学习曲线较为平缓,即使对于新手也比较容易上手。原创 2024-04-17 13:49:54 · 1446 阅读 · 0 评论 -
实战解析:SpringBoot接口防抖机制与防重复提交技巧
作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。原创 2024-04-17 09:35:35 · 2085 阅读 · 1 评论 -
SpringBoot中全局异常捕获与参数校验的优雅实现
/这个地方不要写exception,因为Spring是只对运行时异常进行事务回滚,//如果抛出的是exception是不会进行事务回滚的。如果是在service层里捕获异常统一去处理,那为了保证事务的回滚,需要抛出RuntimeExceptiontry {logger.error("发生异常");原创 2024-04-16 13:31:06 · 1676 阅读 · 0 评论 -
Spring Boot如何应对多人同时导出Excel导致的服务器崩溃?构建高效排队导出功能是关键!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;原创 2024-04-16 09:59:45 · 1543 阅读 · 0 评论 -
SpringBoot实现PDF水印添加的五种高效方案,轻松上手!
PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用 Spring Boot 来实现 PDF 添加水印的方式。PS:当然,只是笔者使用Spring Boot 测试,Java代码均可实现,并不是非要在 spring Boot 上实现哦!原创 2024-04-15 11:08:13 · 1351 阅读 · 0 评论 -
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成 Excel 的读、写等功能。原创 2024-04-15 10:12:35 · 7376 阅读 · 4 评论 -
SpringBoot:轻松实现对象下载,一个注解搞定!
下载功能应该是比较常见的功能了,虽然一个项目里面可能出现的不多,但是基本上每个项目都会有,而且有些下载功能其实还是比较繁杂的,倒不是难,而是麻烦。所以结合之前的下载需求,我写了一个库来简化下载功能的实现如果我说现在只需要一个注解就能帮你下载任意的对象,是不是觉得非常的方便。原创 2024-04-14 14:36:26 · 834 阅读 · 0 评论 -
赞叹不已!后端API接口设计尽显优雅风范
这个方案还有没有别的优化空间,当然是有的。如:每次请求都要反射一下,获取请求的方法是否需要包装,其实可以做个缓存,不需要每次都需要解析。当然整体思路了解,小伙伴们就可以在此基础上面自行扩展。原创 2024-04-12 10:23:06 · 1182 阅读 · 1 评论 -
Spring Boot 3登录开发进阶:图形验证码接口的实现
上文我们已经整合好了jwt,本文我们开始实现图形验证码接口的实现。原创 2024-04-11 14:04:08 · 835 阅读 · 0 评论