title: @Autowired HttpServletRequest vs passing as parameter - best practice
body: <p>Assume we have defined a controller class which has <code>@Controller</code> annotation only.</p>
  
  <p>Inside the class, we have defined <code>private @Autowired HttpServletRequest request;</code> variable.</p>
  
  <p>Spring Controllers are Singleton. When we defined <code>HttpServletRequest</code> as <code>@Autowired</code> in a web-application, will it be an issue?</p>
  
  <p>I read from a web-site that even though it is <code>@Autowired</code> it just injects a proxy for the thread variable.</p>
  
  <p>Is it true? In a multi-threaded environment can we use <code>@Autowired</code> or passing <code>HttpServletRequest</code> as a parameter to each method in the controller class would be the right approach?</p>
  
  <p>Some websites says it is an issue and suggested to pass as a parameter whereas few say it will be an issue.</p>
  
  <p>I don't understand which one is right. </p>