接口防刷是保障系统安全与稳定性的重要措施。恶意的高频请求不仅会消耗服务器资源,还可能导致数据异常,甚至系统瘫痪。本文将介绍在SpringBoot框架下实现接口防刷的5种技术方案。 1. 基于注解的访问频率限制 最常见的防刷方案是通过自定义注解和AOP切面实现访问频率限制。这种方法简单易用,实现成本低。 实现步骤 1.1 […]
接口防刷是保障系统安全与稳定性的重要措施。恶意的高频请求不仅会消耗服务器资源,还可能导致数据异常,甚至系统瘫痪。本文将介绍在SpringBoot框架下实现接口防刷的5种技术方案。 1. 基于注解的访问频率限制 最常见的防刷方案是通过自定义注解和AOP切面实现访问频率限制。这种方法简单易用,实现成本低。 实现步骤 1.1 […]
SpringBoot以其强大的自动配置和丰富的生态系统成为Java开发的首选框架。除了核心功能外,SpringBoot及其依赖的Spring框架还包含大量实用工具类,它们可以显著简化日常开发工作。本文将介绍49个常用工具类,并通过简洁的代码示例展示它们的基本用法。 字符串处理工具类 1. StringUtils imp […]
一、背景 在网络传输敏感数据时,接口加密是保障安全的核心手段。下面就说一说如何在 SpringBoot 中实现 RSA+AES 混合加密方案,同时结合两种算法的优势,确保数据传输的安全性与高效性。 二、加密方案优势 算法 特点 适用场景 RSA 非对称加密,安全性高,但加密速度慢,适合加密少量数据(如密钥)。 加密 A […]
前言 参数校验是保证程序健壮性的重要环节,前端校验为用户体验,后端校验为系统安全。Spring Boot 中常用 @Valid 和 @Validated 实现参数校验,本文将详细解析两者的区别、用法及代码示例。 一、@Valid 注解 1. 功能与依赖 标准规范:属于 Java EE 标准注解(JSR 303 规范), […]
AbstractRoutingDataSource 是 Spring 框架中的一个抽象类,它位于 org.springframework.jdbc.datasource.lookup 包下,主要用于实现动态数据源的切换。以下将从其作用、原理、使用步骤和示例代码等方面进行详细介绍。 介绍 作用 在一些复杂的业务场景中,可 […]
1. 环境准备 开发环境:确保已经安装了Java开发环境(JDK 8及以上)、Maven和Spring Boot CLI。 AI服务:注册OpenAI账号,获取API密钥,用于调用AI服务生成图片。 FFmpeg:安装FFmpeg工具,用于将生成的图片合成为视频。 2. 创建Spring Boot项目 使用Spring […]
在 Spring Boot 应用中实现优雅关闭可以确保应用在停止时能够妥善处理正在进行的任务、释放资源,避免数据丢失和系统异常。以下是几种实现 Spring Boot 应用优雅关闭的方法: 1. 使用 Spring Boot Actuator Spring Boot Actuator 提供了一个 /shutdown 端 […]
原因 SpringCloud Gateway无法找到TandeMacBook-Pro.local对应的IP地址, DNS解析失败.导致启动耗时. 解决方案 查看本机hostname,命令如下: root@TandeMacBook-Pro ~ % hostname TandeMacBook-Pro.local 修改hos […]
本地部署 DeepSeek 模型 1. 环境准备 硬件:确保你的机器有足够的内存和计算资源,因为模型运行需要一定的硬件支持。 软件:安装 Python 3.7 及以上版本,以及相关依赖库,如 PyTorch 等。 2. 下载和部署模型 你可以从官方渠道下载 DeepSeek Coder 模型的权重文件,然后使用开源的推 […]
一、介绍 在前面的文章中,我们详细的介绍了 MongoDB 的配置和使用,如果你对 MongoDB 还不是很了解,也没关系,在 MongoDB 中有三个比较重要的名词:数据库、集合、文档! 数据库(Database):和关系型数据库一样,每个数据库中有自己的用户权限,不同的项目组可以使用不同的数据库 集合(Collec […]
背景 前段时间,一个同事小姐姐跟我说她的项目起不来了,让我帮忙看一下,本着助人为乐的精神,这个忙肯定要去帮。 于是,我在她的控制台发现了如下的异常信息: Exception in thread "main" org.springframework.beans.factory.BeanCurrentl […]
Timer和ScheduledExecutorService是JDK内置的定时任务方案,而业内还有一个经典的定时任务的设计叫时间轮(Timing Wheel), Netty内部基于时间轮实现了一个HashedWheelTimer来优化百万量级I/O超时的检测,它是一个高性能,低消耗的数据结构,它适合用非准实时,延迟的短 […]
@Resource和@Autowired这两个注解的作用都是在Spring生态里面去实现Bean的依赖注入。 下面分别说一下@Autowired和@Resource这两个注解。 闪现 [@Autowired的作用详解 ] 几个字。 首先,@Autowired是Spring里面提供的一个注解,默认是根据类型来实现Bean […]
背景 我们使用RocketMQ时,一般Consumer启动都是使用的@PostConstruct注解。(@PostConstruct:用于在执行任何初始化时执行依赖注入后需要执行的方法。),或者使用bean的方式配置。 配置如下: 生产者配置 在配置类中配置所有生产者,在业务中注入使用,将生产者的启动和销毁绑定到 Be […]
依赖 GraphQL相关依赖如下(SpringBoot2.X): <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-spring-boot-starter</artifactId […]
天若有情天亦老,人间正道是沧桑。
COPYRIGHT © 2026 lifengdi.com. ALL RIGHTS RESERVED.