1

我是新來的Spring MVC,並想知道它是怎麼處理的請求,更具體:春@Controller生命週期

  1. 我想知道一個Spring @控制器的生命週期如何與 是的一個Servlet?
  2. 我也想更好地瞭解 什麼是最好的 做法多線程 enviornments(例如像Servlet中, 是類 多個HTTP請求屬性可見的對象 從池中重複使用)?

回答

6

控制器(與任何spring bean一樣)都有一個範圍。

最好你的控制器應該是範圍singleton。在這種情況下,它非常像servlet和:

  • 創建它們只有一次,應用程序上下文啓動時(當上下文被銷燬銷燬)
  • 你不應該使用任何實例變量(如如果您的控制器範圍requestsession,那麼你可以有實例變量,並且在每一個新的請求/會話創建控制器的一個實例,這是不是線程安全的)