十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关Spring Boot中怎么防止重复提交,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了永济免费建站欢迎大家使用!
思路
1、自定义注解 @NoRepeatSubmit 标记所有Controller中的提交请求
2、通过AOP 对所有标记了 @NoRepeatSubmit 的方法拦截
3、在业务方法执行前,获取当前用户的 token(或者JSessionId)+ 当前请求地址,作为一个唯一 KEY,去获取 redis 分布式锁(如果此时并发获取,只有一个线程会成功获取锁)
4、业务方法执行后,释放锁
这里只贴出 AOP 类和测试类
多线程测试
测试代码如下,模拟十个请求并发同时提交
成功防止重复提交,控制台日志如下,可以看到十个线程的启动时间几乎同时发起,只有一个请求提交成功了
上述就是小编为大家分享的Spring Boot中怎么防止重复提交了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。