美文网首页
resubmit v1.2.0 新特性支持类级别防止重复提交

resubmit v1.2.0 新特性支持类级别防止重复提交

作者: 老马啸西风2020 | 来源:发表于2025-05-30 16:02 被阅读0次

前言

resubmit 是一款为 java 设计的渐进式防止重复提交框架。

创作目的

有时候手动加防止重复提交很麻烦,每次手动编写不利于复用。

所以希望从从简到繁实现一个工具,便于平时使用。

特性

  • 渐进式实现,可独立 spring 使用

  • 基于注解+字节码,配置灵活

  • 支持编程式的调用

  • 支持注解式,完美整合 spring

  • 支持整合 spring-boot

  • 支持方法级别、类级别注解

快速开始

maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>resubmit-springboot-starter</artifactId>
    <version>1.2.0</version>
</dependency>

测试代码

service 类

@Service
@Resubmit(value = 5000, enable = true)
public class ClassLevelService {

    @Resubmit(enable = false)
    public void queryInfoNoLimit(final String id) {
        System.out.println("queryInfoNoLimit: " + id);
    }

    public void queryInfoLimit(final String id) {
        System.out.println("queryInfoLimit: " + id);
    }

}

测试类

@ContextConfiguration(classes = SpringConfig.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class ResubmitSpringClassLevelTest {

    @Autowired
    private ClassLevelService classLevelService;

    @Test(expected = ResubmitException.class)
    public void queryInfoLimitTest() {
        classLevelService.queryInfoLimit("1");
        classLevelService.queryInfoLimit("1");
    }

    @Test
    public void queryInfoNoLimitTest() {
        classLevelService.queryInfoNoLimit("1");
        classLevelService.queryInfoNoLimit("1");
    }

}

如此就可以完成一个类级别支持的防重复提交。

注解

注解 @Resubmit 对应的属性如下,可以在方法或者类上。方法的级别优先于类。

属性 说明 默认值
value() 多久内禁止重复提交,单位为毫秒。 8000
enable() 是否启用 true

拓展阅读

01-面试官:你们项目中是怎么做防重复提交的?

02-java 表单避免重复提交 resubmit 开源项目介绍

03-idempotent 幂等性介绍+如何防止重复提交?

04-简单聊一聊防重复提交

05-还在深夜加班改Bug?雷军都点赞的防重提方案来了!

06-v1.2.0 新特性类级别防止重复提交

开源矩阵

下面是一些从防止重复提交相关,整个系列的开源矩阵规划。

名称 介绍 状态
resubmit 防止重复提交核心库 已开源
rate-limit 限流核心库 已开源
cache 手写渐进式 redis 已开源
lock 开箱即用的分布式锁 已开源
common-cache 通用缓存标准定义 已开源
redis-config 兼容各种常见的 redis 配置模式 研发中
quota-server 限额限次核心服务 待开始
quota-admin 限额限次控台 待开始
flow-control-server 流控核心服务 待开始
flow-control-admin 流控控台 待开始

相关文章

  • Innodb事务隔离级别和锁之间的关系

    1.事务特性: 2.事务隔离级别: 1.读未提交。 脏读,不可重复读,幻读。2.读已提交。 不可重复读。3.可重复...

  • 防止重复提交

  • 防止重复提交

    简介 在现在的web开发中我们经常使用ajax从后端获取数据,提交数据。对于有些游戏爱好者或者手速甚快的同学来说,...

  • 2021-05-24

    事务的特性, 事务的隔离级别 死锁怎么解决 分布式事务怎么实现 rabbitmq消息的顺序和消息的堆积 防止重复提...

  • 防止表单重复提交

    嘿,大家好,今天我来介绍几种简单的防止表单重复提交的方法: 防止表单重复提交 方法一:前端方式 当点击提交或者保存...

  • 防止表单重复提交

    第一种(JavaScript): <%@ page language="java" import="java.ut...

  • 防止表单重复提交

    防止表单重复提交: 方法1:页面限制按钮 方法2:如图

  • 防止表单重复提交

    随机产生一个字符串(token) ,保存到session中,在向服务端发送请求时会携带token,本地token与...

  • android防止重复提交

    先上地址 https://github.com/liys666666/DoubleClick小哥哥的地址https...

  • 防止表单重复提交

    针对于重复提交的整体解决方案: 1.用redirect来解决重复提交的问题 2.点击一次之后,按钮失效 3.通过l...

网友评论

      本文标题:resubmit v1.2.0 新特性支持类级别防止重复提交

      本文链接:https://www.haomeiwen.com/subject/fvljwjtx.html