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

3,155 total views, 9 views today

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

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

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

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

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

About: wusq


发表评论

邮箱地址不会被公开。 必填项已用*标注