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

个人宽带 架设网站需备案新闻营销发稿平台

个人宽带 架设网站需备案,新闻营销发稿平台,怎么黑掉网站,武汉眼前一亮科技有限公司写在前面 在项目开发过程中,难免都要获取当前登录用户的信息。通常的做法,都是开发一个获取用户信息的接口。 如果在本项目中,多处都需要获取登录用户的信息,难不成还要调用自己写的接口吗?显然不用! 以…

写在前面

在项目开发过程中,难免都要获取当前登录用户的信息。通常的做法,都是开发一个获取用户信息的接口。

如果在本项目中,多处都需要获取登录用户的信息,难不成还要调用自己写的接口吗?显然不用!

以往的项目经验里,都是使用用户对应的Service获取,今天使用自定义注解对其进行数据绑定,从而获取登录用户信息。

步骤一:编写自定义注解

先自定义一个用于绑定登录用户信息的注解,且运行时有效。

代码如下:

/*** 当前登录用户信息注解*/
@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CurrentUser{}

步骤二:自定义UserResolver

Spring boot封装了SpringMVC中的HandlerMethodArgumentResolver接口,自定义UserResolver要实现对应的2个接口。

代码如下:

/*** 当前登录用户Resolver*/
public class CurrentUserMethodArgumentResolver implements HandlerMethodArgumentResolver {@Autowiredprivate UserService userService;@Overridepublic boolean supportsParameter(MethodParameter methodParameter) {//判断方法参数是否带有@CurrentUser注解且参数类型为User或其子类return methodParameter.hasParameterAnnotation(CurrentUser.class) && User.class.isAssignableFrom(methodParameter.getParameterType());}@Overridepublic Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest nativeWebRequest, WebDataBinderFactory webDataBinderFactory) throws Exception {//获取当前登录用户return userService.getCurrent();}}

步骤三:WebMvcConfig配置自定义解析器

新建一个webconfig 实现 WebMvcConfigurer 接口, 需要重写 addArgumentResolvers 这个方法,初始化我们创建的操作类。

代码如下:

/*** 配置自定义解析器*/
@Configuration
public class MvcConfig implements WebMvcConfigurer{@Beanpublic CurrentUserMethodArgumentResolver currentUserMethodArgumentResolver() {return new CurrentUserMethodArgumentResolver();}@Overridepublic void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {argumentResolvers.add(currentUserMethodArgumentResolver());}
}

步骤四:编写代码测试

@RequestMapping(value = "/getUser", method = RequestMethod.GET)
public Map<String, Object> queryUser( @CurrentUser UserInfoVO userInfo) {System.out.println(userInfo);
}

小结

之所以能够自定义注解获取当前登录用户信息,就是借助于HandlerMethodArgumentResolver来扩展自己的参数解析器。

在resolveArgument接口中编写对应获取登录用户信息的逻辑代码。举个栗子,有的系统是从数据库中获取数据,有的则把对应数据放在redis中。所以在这里从不同地方获取即可。


The end.

http://www.ds6.com.cn/news/121969.html

相关文章:

  • 网站策划书的撰写百度做广告多少钱一天
  • 海尔官网 网站建设的目标网络运营是做什么的
  • 网站 橙色引流推广公司
  • 南宁网站空间百度指数热度榜
  • 商务网站建设与维护考试营销型网站建设推广
  • 徐州市城乡和住房建设局网站seo查询工具网站
  • 打开网站提示建设中有趣软文广告经典案例
  • 广州市疫情最新通报怎么提高seo关键词排名
  • 做网站得先注册域名吗产品推广介绍怎么写
  • 做不做生意都要知道的网站廊坊seo网站管理
  • 网站开发与网站制作白帽seo
  • 做刀模线网站网红营销
  • 如何做网站横幅小学生抄写新闻20字
  • 做有趣的网站免费软件下载网站有哪些
  • 阿里云做的网站程序员电脑培训班价目表
  • 网站改版设计流程百度官网首页官网
  • 涟水建设局网站企拓客app骗局
  • 上海高端做网站营销推广与策划
  • java高端网站建设苏州网络推广服务
  • 怎么做网站表白营销型网站建设实训总结
  • 个人网站的基本风格是百度推广首页登录
  • 多国语言外贸网站模板整合营销策划名词解释
  • 学前教育网站建设google谷歌搜索主页
  • 真做视频网站roseonly企业网站优化
  • 网站建设框架营销策划机构
  • 网站的开发建设要做什么东莞做网站优化
  • 国外创意型网站设计怎么在百度上做推广上首页
  • 网站url如何做优化谷歌seo实战教程
  • 怎么介绍自己做的电影网站seo排名app
  • 做网站如何推广关键词排名优化教程