spring中的bean最常用的 singleton 模式
如果要在springmvc Controller 中獲取 HttpServletRequest ,HttpServletResponse 怎么辦?
1.在接口函數中以參數傳入 類似HttpServlet
這種方式獲得的是真實的request,response 對象 沒什么好說的
2.@Autowired 注入 定義類屬性
這種方式獲得的是 request,response 代理對象,這樣做的好處是什么呢?
前面所說的controller bean是單例模式的 那么 所有的請求實際上訪問的是同一個controller對象,
我們可以推斷出這里的 request 和response 也是同一個 what? 這不是亂套了嗎? 不是說好的每個請求都會有request,response對象嗎?
其實 我們訪問request,response的任何方法都是先通過代理找到真實的request,response
對象,然后再執行對應的方法
而最終 request,response 都是存儲在ThreadLocal里面的
而這種存儲在threadLocal里面的實現方式對於 請求->單線程處理 的模型是沒問題的,
如果要另開子線程 還得通過參數傳遞這兩個對象,所以我個人覺得還是第一種實現方式比較好