SpringMVC:HttpSession的自动布线是如何工作的?

SpringMVC:HttpSession的自动布线是如何工作的?,spring,model-view-controller,autowired,httpsession,Spring,Model View Controller,Autowired,Httpsession,我想知道HttpSession的自动布线是如何工作的 如果我们声明如下: @Autowired private HttpSession httpSession; 在Spring工作流中,上面声明的httpSession变量将被初始化为request.getSession(true)?我不明白为什么要自动连接httpSession,但下面是自动连接的工作原理 要自动连接一个类,您需要通过使用注释(@Controller、@Service、@Repository、@Component)或在con

我想知道HttpSession的自动布线是如何工作的

如果我们声明如下:

@Autowired 
private HttpSession httpSession;

在Spring工作流中,上面声明的httpSession变量将被初始化为
request.getSession(true)

我不明白为什么要自动连接httpSession,但下面是自动连接的工作原理

要自动连接一个类,您需要通过使用注释(@Controller、@Service、@Repository、@Component)或在config类中声明@bean将其指定为bean。定义bean后,Spring会在Spring上下文初始化时自动连接或构造对象(在webapp的服务器启动期间,在case console/standalone app中显式初始化Spring上下文)

由于只能从HttpServletRequest对象获取HttpSession,因此无法在应用程序启动期间对其进行初始化,因为启动期间没有HttpServletRequest。如果希望在获取HttpSession之前实现一些逻辑,可以创建如下util方法

public getHttpSession(HttpServletRequest request) {
    // put your logic here and return session object 
}

不确定,为什么人们在不理解的情况下否决了一个问题??Autoriwing HttpSession是从不同类访问会话的最方便的方式。如果Autowiring httpsession出现问题,包括这篇文章在内的许多帖子都会失效,stackoverflow.com/questions/29487885如果可行的话会很方便。我已经用黑体字解释了它不可行的原因。如果您想办法自动连接HttpSession,请告诉我们。