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

参数解析器的使用

  一、前言
  在使用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等结合其他的辅助类完成更加复杂的数据类型的注入。

iPadmini全面屏版本来了!小手机小平板,这组合爽了微创WEC科技今年,苹果一如既往地发布了新iPhone,但相比之前,多了一台iPhone12mini。今年四月份苹果就推出了小尺寸机型爱好者的福音iPhoneSE2,没想到这次全面如何搞好大客户关系管理?大客户通常是某一领域的细分客户,相比一般客户,他们通常能够为企业带来更多的利润,是实现企业可持续发展的最为重要的保障之一,对于企业具有无比重要的战略意义。因此,企业必须具备识别大客阿里巴巴双十一破纪录,在美国股市暴跌阿里巴巴双十一30分钟3723亿阿里巴巴市值7211亿美元纳斯达克阿里巴巴破了两个记录!30分钟3723亿!打破去年一天成交记录阿里巴巴股市暴跌8,市值蒸发800亿美元!自从蚂蚁集假设美国封锁了安卓系统,那我们正在使用的安卓手机会不会受到影响?目前我国几乎所有厂商都在使用安卓系统,可以说安卓救活了中国手机厂商,不管是华为,小米,魅族,ov,一加还是锤子通通使用的安卓。闭源安卓不影响手机的使用如果美国不顾谷歌死活强行闭源安千元级平板买哪款?华为M6是首选,8。4英寸价格便宜尺寸合适今年平板市场显得异常凶猛,其中最明显的就是华为在今年推出了很多平板新品,而且也确实有很多人买,从统计数据来看平板市场已经很久没有这么火热了。不过不少人似乎也发现了一点问题,那就是不凭良心说,华为和苹果相比,哪个手机品牌质量好?我11年左右买了第一个苹果,就是在联通办的协议机苹果4,质量是真的好,到现在都没有坏,没有修过,电池没换过,续航也不行了,系统更新也更新不了了,这才换的手机,当时4000多买的,之你是否有一台荣耀?经历了荣耀第一部双摄,经历了荣耀第一次AI,经历了荣耀第一部技术不成熟的挖孔,经历了荣耀第一部中端神U,经历了荣耀第二部中端神U,经历了荣耀第三部曲面屏。给我的感觉就是每一代产品都宁买4G,不买5G手机,这不是傻吗?别被骗了今年,5G手机已经全面普及,上到高端万元旗舰,下到千元产品都已经很难寻到4G新机的影子,无论你是否接受,5G已经全面渗透到我们的生活。此同时也有一些言论经常出现,5G手机太贵,不值辽宁喊话20家电商,叫停双十一四大问题为切实规范双十一网络集中促销活动秩序,近日,辽宁省市场监管局与沈阳市市场监管局共同组织召开了双十一电商企业座谈会。苏宁易购贝壳找房京东唯品会58同城饿了么美团抖音宜佳购物陌贝甜程旅EMUI11MagicUI4修改了哪些东西?EMUI11。0MagicUI4。0,不少小伙伴已经摩拳擦掌等待升级,但你知道升级后我们的手机都发生了什么变化么?一音量条顶部的铃铛按钮不见了?升级前,按音量键弹出的音量条顶部有铃5G手机相比较4G手机,对普通用户来说究竟有什么用?5G手机相比4G手机,可能就是小汽车和跑车的区别吧。如果用车来比喻网络的发展,就是2G拖拉机3G货车4G小轿车5G跑车的对比。对于5G手机,现在的品牌和上市款数已经是非常的多了,只
厉害的APP都经历过的3个阶段,你知道吗?编辑导语纵观众多平台,近些年来都做起了自己的的社区,就连互联网招聘平台也开始试水。为什么大家都开始做社区,这就需要从产品的需求出发。作者从产品运营角度分析了厉害的APP经历过的三个干货亚马逊如何增加销量成功销售商品,则需要激发买家的购买欲望。从销售业绩一贯优异的亚马逊卖家身上,我们发现了一些共同特征。成功的卖家1。研究亚马逊网站及其竞争对手。2。帮助买家查找商品。3。帮助买家购买汽车行业深度研究报告智能驾驶的十大变革与趋势一整车均价智能化引领车价上升1。1过去燃油车时代,同级别汽车价格趋势性下降燃油车时代技术进步规模效应生产成本降低汽车价格下降。汽车生产从最早期手工作坊式生产,发展到到工业流水线生产刘强东和王微控制权的正反两个典型土豆网的王微在控制权方面,他还是不太注意的一个人,土豆网上线8个月的时候,就获得IDG的A轮。A轮只花了50万美金,这简直就是毛毛雨了。但是换了土豆网多少股权?30当总编辑洪波得知盒子科技好哒数字化服务助力零售实体店日销量持续增长截止至2021年上半年,国内线下实体经济总量已突破30万亿,其中仅由便利店餐饮店等各类中小微门店组成的商户数量就达到了8000万以上,庞大的线下市场催生了一批新时代创业者,对于线下WiFi5有四大优势WiFi6(802。11ax)OFDMA加持的新一代WiFi标准。相比上一代WiFi5(802。11ac),它具有4大优势。11024QAM高阶调制最大支持160MHz频宽,速度快智能化场景领跑,海尔雷神者成为空调推荐首选品牌在全球逐渐走向疫情防控常态化的时期,空调行业也迎来了崭新的改革,消费者在购买空调产品的时候,关注焦点已经不再局限于制冷,制热或者节能等传统功能上面。他们对于一些同时兼顾了健康舒适性NUC11Extreme上架仅i911900KB版本,售价8799元英特尔月初发布了NUC11Extreme迷你主机,在相对小巧的机身尺寸下实现了不错的性能。目前这款产品已经上架京东商城(国行版本型号为NUC11BTMi9),将于9月6日开卖,售价5G再迎好消息!工信部95县级地区已覆盖你用上5G了吗?虽然如今互联网还不能说是5G的世界,因为5G级别的应用尚未诞生,目前多数人还是在使用4G,不过很明显5G用户每个月都在增加不少。最近5G建设又有一个好消息,根据工信我见物联多妩媚!物联网联盟会员风采系列之(一百)一我见物联多妩媚!物联网联盟会员风采系列之联盟会员单位深圳梯云物联科技有限公司深圳梯云物联科技有限公司成立于2017年,专注于电梯信息化管理和电梯全方位安全监管的研发与应用,是电梯腾讯与招商港口成立联合实验室,打造世界一流智慧港口来源读特8月30日,招商局港口集团股份有限公司(以下简称招商港口)与腾讯公司(以下简称腾讯)签署合作协议,将联合成立创新联合实验室,共同推动港口商业模式创新和产业数字化招商局集团副