首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HttpServletRequest 使用@Autowired 注解会有问题吗?

HttpServletRequest 使用@Autowired 注解会有问题吗?

原创
作者头像
水货程序员
修改2019-06-11 10:34:40
修改2019-06-11 10:34:40
4.3K0
举报
文章被收录于专栏:javathingsjavathings

SpringBoot 中,默认注入的对象是单例对象,那么,我们如果注入一个 HttpServletRequest,会有问题吗?因为每次请求,Request 是不同的,用一个单例去获取这个请求肯定是不对的。

事实上,Spring 容器很聪明的帮我们把各个 HttpServletRequest 对象隔离开来,并不是真的一个单例,而是通过包裹类 ServletRequestAttributes,将 HttpServletRequest 纳入其中。这个包裹对象绑定到了 ThreadLocal 中,并且通过 RequestContextHolder.currentRequestAttributes() 获得。

我们也可以通过下面语句获得当前 HttpServletRequest。

代码语言:java
复制
HttpServletRequest curRequest =
  ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();

所以不用担心这个问题,放心大胆的用吧。

原创文章,转载请注明出处!http://www.javathings.top/httpservletrequest使用autowired注解会有问题吗?/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档