当前位置: 首页 > news >正文

用dw做网站怎么做出下拉菜单荥阳做网站推广

用dw做网站怎么做出下拉菜单,荥阳做网站推广,网站设计报价,网站建设佰首选金手指七本功能是在切面执行链基础上实现的功能#xff0c;如果不知道切面执行链的同学#xff0c;请看一下我之前专门介绍切面执行链的文章。 在SpringBoot项目中实现切面执行链功能-CSDN博客 1.定义防重复提交handler /*** 重复提交handler**/ AspectHandlerOrder public class …本功能是在切面执行链基础上实现的功能如果不知道切面执行链的同学请看一下我之前专门介绍切面执行链的文章。 在SpringBoot项目中实现切面执行链功能-CSDN博客 1.定义防重复提交handler /*** 重复提交handler**/ AspectHandlerOrder public class ResubmitAspectHandler implements AspectHandler {private StringRedisTemplate stringRedisTemplate;public void setStringRedisTemplate(StringRedisTemplate stringRedisTemplate) {this.stringRedisTemplate stringRedisTemplate;}Overridepublic boolean execute(ProceedingJoinPoint pjp) throws Exception {Method method getMethod(pjp);if (!method.isAnnotationPresent(Resubmit.class)) {return true;}Resubmit annotation method.getAnnotation(Resubmit.class);long ttl annotation.ttl();String key getKey();String value 1;if (lock(key, value, ttl)) {return true;} throw new BaseRuntimeException(ExceptionEnums.ERROR_10012.getCode(), 操作频率过高请稍后再试);}Overridepublic void afterCompletion(ProceedingJoinPoint pjp, Object response, Exception exception) {Method method getMethod(pjp);if (method.isAnnotationPresent(Resubmit.class)) {unlock(getKey());}}/*** redis原子操作如果key不存在就设置key:value** param key* param value* return true设置成功拿到锁false设置失败未拿到锁*/private boolean lock(final String key, final String value, final long ttl) {Boolean result stringRedisTemplate.boundValueOps(key).setIfAbsent(value, Duration.ofSeconds(ttl));return result ! null ? result : false;}/*** 解锁删除key** param key*/private void unlock(String key) {if (StringUtils.isNotBlank(key)) {stringRedisTemplate.delete(key);}}/*** 获取方法** param pjp* return*/private Method getMethod(ProceedingJoinPoint pjp) {MethodSignature signature (MethodSignature) pjp.getSignature();Method method signature.getMethod();return method;}/*** 获取key** return*/private String getKey() {ServletRequestAttributes requestAttributes (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request requestAttributes.getRequest();String url request.getRequestURI();String httpMethod request.getMethod();HttpHeader httpHeader WebContext.getHttpHeader();String deviceId httpHeader.getDevice_id();String key RedisConstants.REDIS_RESUBMIT_KEY httpMethod url : deviceId;return key;} } 2.定义防重复提交注解 /*** 防止重复提交*/ Retention(RetentionPolicy.RUNTIME) Target(ElementType.METHOD) public interface Resubmit {/*** 存活时间秒当意外情况例如锁定之后重启服务* 未能执行解锁功能redis将在${ttl}秒之后自动删除锁标志* 默认 10秒* return*/long ttl() default 10;} 3.在配置类中注入防重复提交切面类 Bean public ListAspectHandler apiAspectHandlers() {ResubmitAspectHandler resubmitAspectHandler new ResubmitAspectHandler();resubmitAspectHandler.setStringRedisTemplate(stringRedisTemplate);return Arrays.asList(resubmitAspectHandler); } 4.controller中应用防重复提交注解 PostMapping(/release) Resubmit public ApiResponse? insert(RequestBody Valid InsertAppRequestDTO req) {// 处理业务逻辑 }
http://www.tj-hxxt.cn/news/221319.html

相关文章:

  • 专门做土特产的网站百度关键词优化费用
  • 晋城建设局官方网站南康网站建设
  • 泰州网站制作软件怎样进行文化建设
  • 企业建设电子商务网站的目的创建公司网站过程
  • 重庆企业建站程序邯郸网络广播电视台
  • 做网站其实不贵phpwind怎么做网站
  • 中铁快运关于网站建设在线crm软件有哪些优势?
  • 营销网站建设都是专业技术人员网站专做盗版小说 会犯法吗
  • 黑龙江省网站备案电商营销手段有哪些
  • 网站设计下载天津网站建设推广服务
  • 建设部网人事考试网站网站技术制作
  • 电子 东莞网站建设建设企业网站的需要多长时间
  • 郑州做网站外包的公司邹平做网站的公司
  • 网站价格明细表物联卡官方免费申请入口
  • 有哪些网站可以做推文盐城网站开发基本流程
  • 做网站哪便宜网站一年费用
  • 网站外贸推广沈阳哪家网站做的好
  • 全国网站联盟养老网站备案必须做前置审批吗
  • 上海网站seo牛巨微wordpress 电脑微信
  • 长治一般做一个网站需要多少钱不要轻易注册一家公司
  • 中联建设集团股份有限公司网站沃尔玛超市网上购物app下载
  • 什么网站可以做推广的天津住房和城乡建设建造师网站
  • 一流的营销型网站建设wordpress中怎么去掉默认页面模板中的评论框
  • 网站邮件推送福建示范校建设专题网站
  • 云服务器做网站wordpress获取附件
  • 网站研发费用吗科技型中小企业认定官网
  • 购物网站开发实战去马来西亚做网站网站
  • 台州网站优化电商网站建设内容规划
  • iis网站找不到网页phpmysql网站开发项目式教程
  • 有做任务赚赏金的网站吗怎么做仿制网站