范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

参数解析器的使用

  一、前言
  在使用spring-web的时候,我们获取HttpServletRequest中的数据时候通常会会用到@Header @RequestParam @RequestBody等注解获取值,并注入到对应的变量中。那么这个到底是怎么实现呢? 二、参数解析器的基本使用2.1 创建注解,为参数打上标记import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;  /**  * 定义一个注解标志  *  */ @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface CurrentUser { }  2.2 创建参数解析器  import com.ztq.anno.CurrentUser; import com.ztq.vo.User; import lombok.extern.slf4j.Slf4j; import org.springframework.core.MethodParameter; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer;  import java.util.Objects;  @Slf4j public class CurrentUserMethodArgumentResolver implements HandlerMethodArgumentResolver {     @Override     public boolean supportsParameter(MethodParameter parameter) {         if (parameter.getParameterType().equals(User.class) && parameter.hasParameterAnnotation(CurrentUser.class)) {             return true;         }         return false;     }      @Override     public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {         String name = webRequest.getParameter("name");         User user = new User();         user.setUserName(Objects.isNull(name)?"test1":name);         user.setPassword("password");         return user;     } }  2.3 创建配置类,添加参数解析器  import com.ztq.resolver.CurrentUserMethodArgumentResolver; import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;  import java.util.List;  @Configuration public class MvcConfig implements WebMvcConfigurer {     @Override     public void addArgumentResolvers(List resolvers) {         resolvers.add(new CurrentUserMethodArgumentResolver());     } }  2.4 测试  import com.ztq.anno.CurrentUser; import com.ztq.vo.User; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  @RestController @RequestMapping("user") public class ArgsController {      @GetMapping     public User getUserInfo(@CurrentUser User user){         return user ;     }  }  三、总结
  在实际应用中,我们可以根据HandlerMethodArgumentResolver 接口中第二个方法,传递过来的参数webRequest ModelAndView等结合其他的辅助类完成更加复杂的数据类型的注入。

物理学又站在了重大突破的边缘?第五种基本力的证据增加了大型强子对撞机(LHC)在今年3月份点燃了全世界物理学家的期待,因为粒子物理学家报告了诱人证据可能发现了新的自然力。现在,来自欧洲核子研究中心巨大的粒子对撞机的新结果,尚未经过同行发霉啦今天,我去警察局保释我妈不能让上头那位等我今天,我跑到警察局保释我妈。她开车肇事逃逸,然后还拘捕。当我问她为什么不留在现场的时候,她毫无悔意的说我做礼拜要迟到啦!FML给你点儿抑郁的理由今天,我被那份低收175个城市将网上核发货车电子通行码车市零距离是车市物语旗下自媒体,每天提供最新鲜的汽车零部件和智能网联相关资讯。为深化公安交管放管服改革,深入开展我为群众办实事实践活动,扩大改革措施覆盖面,自2021年11月1日起听,佳音!TASolitairePSE平板静磁耳机首发分享最近有了一副新欢,甚至有些庆幸我居然当时有认真留意这副耳塞,导致我可以能够作为少数长期听过它一阵子的玩家来分享使用感受。这个型号出自一个挺老牌的音响品牌,我对他家的台式系统倒是并不第29届上海SIAV随身与耳机类目产品速览上海高级HIFI演示会,也就是大家所熟知的SIAV,到今年已经是第29个年头,依旧是在黄浦区最核心地段的锦江饭店举办,时间是9。249。26三天,主会场在锦楠楼和新锦江饭店。今天趁平价蓝牙耳机买哪款?漫步者LolliPodsMini无疑最佳之选日常上班通勤的时候,我现在习惯于使用无线耳机,原因是相比有线耳机的优势自然就是不用担心从口袋拿出来还要理线。而且一周一充根本无压力,也不用惦记着每天充电。之前的耳机用了很长时间,续骨传导耳机的天花板?南卡RunnerPro2使用体验评测目前蓝牙耳机市场的新一代产品不断地涌入市场,几乎现在大街上人人有一部蓝牙耳机。但是即使品类再多,用户的需求也未能完全满足。例如一些喜欢跑步的人带着耳机容易出现滑落,而且跑在公路上容让TWS耳机回归平民,百元聆特智芽蓝牙耳机使用体验随着国内越来越多的手机厂商采用简装配置之后,国内的TWS耳机市场也迎来了春天,据第三方数据显示,国内的TWS耳机市场份额同比上一年增长了300之多,而市场的扩大带来的就是竞争的加剧一千零一夜的等待魔浪mifoS运动耳机到底如何?对于很多TWS耳机爱好者来说,提到魔浪这个品牌,没有人会不知道,也没人人不对它竖起大拇指,这是因为mifo魔浪是国内最早一批专业研发生产蓝牙耳机的厂商,也是把TWS蓝牙耳机发展抗在有了BampampampWPI3无线蓝牙运动耳机,跑步时总能享受好音乐很多人喜欢在运动的时候听歌,一来可以起到舒缓身心的作用,二来一些带感的旋律会让你的运动更有劲头。而选择一款在运动时佩戴的好耳机非常重要,譬如说更多人青睐的无线蓝牙耳机就更加适合,毕青春回来了!没忍住买了QDC创造营2020联名款耳机,这几点很意外虽然周六日的生活,依旧还是离不开口罩消毒液,但宅家的时光有了新一季的创造营2020,看着元气满满的小姐和nice全能的教练团,这个夏天仿佛也能在荧幕上体验一番青春气息。虽然男生天生
再过若干年,电视机会不会被手机彻底淘汰掉?电视淘汰这种情况可以说概率极低,无论再过多少年,电视机都不会被手机淘汰掉。主要原因是电视机有它的优势,就是屏幕大,寿命长,而且观众效果感受是手机不能比的。能电视的推出也是将这个传统iPhone手机必备5款黑科技app,每一款都让你相见恨晚虽然说苹果手机的appstore对于app的管控很严格,但是这并不影响,iPhone手机上有很多好用的黑科技app。这里就来分享iPhone手机必备5款黑科技app,每一款都让你相供不应求!芯片产能紧张,15家半导体公司获机构扎堆关注随着消费电子回暖以及新能源车迅速发展,半导体行业需求获得支撑,代工产能紧俏,涨价周期再现,集成电路行业持续高景气。天风证券表示,预计下半年半导体货缺价涨持续,IC设计仍有结构性涨价隔空充电你听过吗?明年手机将有重大升级说到手机上的无线充电,机哥不得不说这两年的普及速度真的太快了。就拿国产品牌来说,不仅主流的家家都有支持无线充电的手机。就连功率也有很多家都堆到了最高的50W级别,在速度方面已经追上跌至4299,120W16G512G,努比亚Z30Pro没撑住在目前的国产手机品牌中,除去小米OV华为一加荣耀外,其它的品牌已经逐渐沦为小众品牌,包括中兴魅族努比亚等。今天给大家聊的就是努比亚这个品牌的机型,虽然现在努比亚在热度上逐渐边缘化,魅族Flyme9。2正式发布堪称最棒安卓系统中关村在线消息魅族Flyme系统是深受用户喜爱的,下午,魅族新品发布会上全新Flyme9。2正式跟大家见面,比好更好,堪称最好用安卓系统。官方表示Flyme9。2好用懂你的安全系统2021苹果11现状这是作为一个平贫民百姓,这么多年玩机的经验,话不多说直接开写。苹果11,作为一个2019年九月上市的手机距离现在也俩年了,在如今5g引领潮流的科技快速发展时代只能用4g的iPhon产品小米11ultra要召回?我只关心的是BUG如何修复?这几天,刷到了类似的新闻,小米11系列要集体召回?那样的话,是不是要退款了?我是不是等到退款后,换其他手机?然而,就如下图所示真没人理你!!!!如果你不是影响力很大的大V,艺人,或笑看公司起名的学问小米不小恒大不大,微软不微IBM无M首先声明本文纯属娱乐,希望大家笑笑就算了,不要认真追究。公司的起名是个大学问,不同时期人们对公司名字估计有不同的讲究,但现在看,似乎名字高大上公司不见得活得好,而名字平民化反而活得新机传MIUI13长这样iPhone14mini被砍了iQOO性价比新机来了小米MIUI13外观曝光近日,有网友在小米社区微博和海外部分平台上曝光了一些MIUI13界面的截图,显示了部分新版本的UI变化。从泄露的截图来看,新版本似乎带有浮动的小部件和针对特苏宁易购智能穿戴自由日薅羊毛攻略这三款价格优惠且实用智能穿戴设备近年来发展迅猛,成为科技厂商继手机后的下一个发力点,智能手表手环等产品如雨后春笋般冒出来,让人眼花缭乱。一款好的智能穿戴设备不仅可以极大地方便某些生活场景,还代表着一种