SpringBoot版不需要配置文件注解获取当前登录用户

本文讯(2019年3月30日 飞快的蜗牛博客)   我是一个懒人,很久不写博客,想起来看到也不一定会写,只有心血来潮的时候写写,“钱塘江上潮信来,今日方知我是我”。。。。。。

空杯对明月

怅然不释怀

生时亦何欢

奋力酬勤去

居不住飘然

湖泊映傍晚

只有对水面

SpringBoot快速并崛起,一个字够简单,作为一个程序员,你是否时长觉得上班时间,讲话越来越少,坐着屁股疼,走出来歇歇又怕老板发现,不运动,真是Fuck的害身体,程序员其实挺可悲,没有程序员待遇好的更可悲;但不管怎么样房价这么贵,

你还得还房贷。祝福吧,祝福那些可怜的我们,可怜儿奋斗泥人;

 1】第一步:先要自定义注解,辣么我们来写一个注解如下:

  /**
  * 放置在参数位置的注解
  * 自定义注解--获取当前登录用户
  */
  @Target({ElementType.PARAMETER})
  @Retention(RetentionPolicy.RUNTIME)
  @Documented
  public @interface LoginUser {


  }

  2】第二步:实现  接口 :HandlerMethodArgumentResolver  你懂的处理方法参数用的 ,注意以下类实现此接口,类上面是不要扫描注解什么的;

        

  public class LoginUserResolver  implements HandlerMethodArgumentResolver {

  @Override
  public boolean supportsParameter(MethodParameter parameter) {
  if(
//如果该参数注解有@Logined
parameter.getParameterAnnotation(LoginUser.class)!=null&&
//如果该参数的类型为User
parameter.getParameterType()==User.class
   ){
//支持解析该参数
return true;
  }
  return false;
  }

  @Override
   public Object resolveArgument(MethodParameter p, ModelAndViewContainer mavContainer,
NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

   return webRequest.getAttribute(p.getParameterName(), NativeWebRequest.SCOPE_SESSION);
  }

  }

 3】第三步:继承  父类:WebMvcConfigurationSupport  实现  此方法:addArgumentResolvers 代码如下:

              

  import com.xxff.component.LoginUserResolver;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.web.method.support.HandlerMethodArgumentResolver;
  import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

  import java.util.List;

  @Configuration
  public class UserConfig extends WebMvcConfigurationSupport {

  @Override
  protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
   argumentResolvers.add(new LoginUserResolver());
  }
  }

    以上是代码结束,但要注意登录验证成功要把获取到的User  放到session里才行,以上如果对你有用劳烦动动手指,给某点个赞,不胜欢喜~

如果对你有用,觉得好可以给小编打个赏: 

         

原文地址:https://www.cnblogs.com/luojiesheng/p/10627776.html