我想知道HttpSession的自動裝配是如何工作的。Spring MVC:HttpSession的自動裝配是如何工作的?
如果我們聲明如下圖所示:
@Autowired
private HttpSession httpSession;
當正好在春節的工作流程,上述聲明的HttpSession變量將與request.getSession(true)
初始化?
我想知道HttpSession的自動裝配是如何工作的。Spring MVC:HttpSession的自動裝配是如何工作的?
如果我們聲明如下圖所示:
@Autowired
private HttpSession httpSession;
當正好在春節的工作流程,上述聲明的HttpSession變量將與request.getSession(true)
初始化?
我不明白你爲什麼要自動裝配HttpSession,但這裏是自動裝配的工作原理。
要自動裝載一個類,您需要通過使用註釋(@Controller,@Service,@Repository,@Component)或在配置類中聲明@Bean來將其指定爲一個bean。一旦你定義了一個bean,當Spring上下文初始化時(在webapp的服務器啓動過程中,並且在控制檯/ standalone應用程序中明確地初始化了spring上下文),Spring自動裝載或構造對象。
由於HttpSession只能從HttpServletRequest對象中獲取,因此在啓動過程中不能初始化它,因爲在啓動過程中沒有HttpServletRequest。如果你想要一些邏輯來獲取你可以創建這樣
public getHttpSession(HttpServletRequest request) {
// put your logic here and return session object
}
不知道,爲什麼人們否決問題不理解一個實用程序方法HttpSession中之前實現? – Swamy