@Controller是用來定義Controller的Spring MVC注釋,但實際上它只是一個原型注釋。甚至可以在沒有@Controller的情況下通過使用@Component注釋Spring MVC控制器類來創建控制器。請求映射到處理程序方法的實際工作是使用@RequestMapping注釋來完成的。
ContextLoaderListener是一個監聽器,這有助於引導Spring MVC的。顧名思義它載入並創建ApplicationContext,因此不必編寫顯式代碼來創建它。應用程序上下文是Spring bean離開的地方。對於Web應用程序,有一個名為WebAppliationContext的子類。
ContextLoaderListener還將ApplicationContext的生命周期與ServletContext的生命周期聯繫起來。這可以使用getServletContext()方法從WebApplicationContext獲取ServletContext。
部署Spring MVC Web應用程序時,Servlet容器創建了一個ContextLoaderListener類的實例,該類載入Spring的WebApplicationContext。