请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么CreateUserController里面有一个HttpServletRequest成员变量?

每个请求都会有不同的request对象,看代码这个bean也无法注入啊。

正在回答

1回答

这个是由于要打印请求日志,需要记录下目标ip地址

具体是哪里没有办法注入呢?举个例子我看下

0 回复 有任何疑惑可以回复我~
  • 提问者 csyangchsh0 #1
    可能我孤陋寡闻,我只知道Controller里面方法加上request和response参数,Spring会自动注入,在方法里面就可以拿到了。每一个请求都是不同的request对象,这个成员还是final的,我就不知道你是如何实现的。。。
    一般来说,Spring bean都是单例,通常都写成无状态的保证线程安全。
    回复 有任何疑惑可以回复我~ 2018-08-02 07:28:09
  • 提问者 csyangchsh0 #2
    如果我没有记错,用的是构造器注入,Spring初始化bean的时候在哪里找这么一个request对象注入?难道把bean的scope改成request?本人菜鸟,麻烦大大解释一下。
    回复 有任何疑惑可以回复我~ 2018-08-02 07:38:02
  • 提问者 csyangchsh0 #3
    很有意思,我debug一下,确实可以这么用。是一个Proxy, 引用了RequestContextHolder,使用了ThreadLocal变量。第一次看到这么玩,见谅。
    回复 有任何疑惑可以回复我~ 2018-08-02 13:02:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信