簡體   English   中英

控制器在Spring MVC中的生命周期

[英]Controller's life-cycle in Spring MVC

Spring MVC中Controller的生命周期是什么?

控制器何時被創建,什么時候被銷毀? 它是在多個線程之間共享的嗎? 是否可以同時使用多個請求。

這是生命周期的視圖:

http://www.flickr.com/photos/60896767@N00/89101625/sizes/l/

是的,它們由線程/請求共享; 你應該把它們寫成線程安全的。 他們應該是無國籍的。 通常他們會引用Spring服務來完成所有工作。 控制器處理Web層的綁定,驗證和路由。

控制器只是bean,它們可以是單例或原型,它取決於你想要做什么。 如果你想要有狀態使用原型,默認情況下他們是單身。

http://www.digizenstudio.com/blog/2006/10/09/spring-controllers-with-prototype-scope/

Spring MVC的所有控制器都是單例。 與其他普通的單例bean一樣,控制器實例將在Web應用程序上下文啟動后創建,並在它結束之前處理。

即使您為控制器bean定義指定了其他范圍(例如,原型),因為spring為控制器提供了某種性能緩存,只有第一個獲取的控制器實例將被重復使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM