Для компонента, который определен как @Component
, вы можете автоматически связать запрос HttpServletRequest следующим образом:
@Component
@Scope("session")
public class Foo {
@Autowired private HTTPServletRequest request;
//
}
Но так как вы используете @Bean
, вы не можете этого сделать.
Вы можете получить текущий запрос следующим образом:
ServletRequestAttributes sra = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest req = sra.getRequest();
Используется локальный поток под обложками.
Если вы используете Spring MVC, это все, что вам нужно. Если вы не используете Spring MVC, вам нужно зарегистрировать RequestContextListener или RequestContextFilter в вашем web.xml
.