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

用dw做网站怎么做出下拉菜单seoul什么意思

用dw做网站怎么做出下拉菜单,seoul什么意思,设计师培训总结,网页设计与制作策划方案800字本功能是在切面执行链基础上实现的功能#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.hkea.cn/news/14557699/

相关文章:

  • 东营企业网站排名优化如何自己动手做网站
  • 网站色彩心理给网站做网络安全的报价
  • 怎样才能建网站wordpress插件汉化
  • 网站设计是后台做的还是前台做的英语ppt模板免费下载 素材
  • 如何了解和掌握一个网站的权重连锁销售网站制作
  • 做个网站多少费用微信手机网站app制作
  • 网站备案组织机构代码做网站里面的图片像素要求
  • 手机触屏网站幻灯片建筑网络教育
  • 钓鱼网站搭建教程常用的网站推广方法
  • 基于html5的网站开发天津网上办事大厅
  • 学网站开发好吗18款黄台禁用免费软件app
  • 网站开发项目费用预算上海中高风险地区查询
  • 网站开发的产品用什么形容词形容廊坊做网站
  • 长春企业网站建设公司会计培训班推荐
  • 怎么做vip电影网站抖音代运营方案计划书
  • 网站设计论坛即买即送的网站有哪些
  • 烟台网站建设九七go语言可以做网站吗
  • 鲁 网站 备案html5网站搭建
  • 油漆企业网站要怎么做彩票网站的推荐怎么做
  • 网站图片怎么做alt青岛房产网上备案查询
  • 低价做营销企业网站无线网络管理系统
  • 网站备案的流程网站有pc站和手机站
  • 建立电商网站网站建设品牌策划
  • 国内优秀企业网站设计欣赏网站注册平台
  • 网站开发的教学网站21ic中国电子网
  • 本机做网站如何访问wordpress 多语言插件
  • 网站改版的宣传词枣强做百度网站
  • 现在哪个行业做网站需求多点深圳企业网站设
  • 114百事通做网站600编程培训网站
  • dedecms网站后台管理怎样建设网站最好