《精通Spring MVC 4》——2.3 Spring MVC 1-0-1
本節書摘來自異步社區《精通Spring MVC 4》一書中的第2章,第2.3節,作者:【美】Geoffroy Warin著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看
2.3 Spring MVC 1-0-1
在Spring MVC中,模型是由Spring MVC的Model或ModelAndView封裝的簡單Map。它可以來源於數據庫、文件、外部服務等,這取決於你如何獲取數據並將其放到模型中。與數據層進行交互的推薦方式是使用Spring Data庫:Spring Data JPA、Spring Data MongoDB等。
Spring MVC的控製層是通過使用@Controller注解來進行處理的。在Web應用中,控製器的角色是響應HTTP請求。帶有@Controller注解的類將會被Spring檢索到,並且能夠有機會處理傳入的請求。
通過使用@RequestMapping注解,控製器能夠聲明它們會根據HTTP方法(如GET或POST方法)和URL來處理特定的請求。控製器就可以確定是在Web響應中直接寫入內容,還是將應用路由一個視圖並將屬性注入到該視圖中。
純粹的RESTful應用將會選擇第一種方式,並且會在HTTP響應中直接暴露模型的JSON或XML表述,這需要用到@ResponseBody注解。在Web應用中,這種類型的架構通常會與前端JavaScript框架關聯,如Backbone.js、AngularJS或React。在這種場景中,Spring應用隻需處理MVC中的模型層。我們將會在第4章中學習這種架構。
在第二種方式中,模型會傳遞到視圖中,視圖會由模板引擎進行渲染,並寫入到響應之中。
視圖通常會與某種模板方言關聯,這種模板允許遍曆模型中的內容,流行的模板方言包括JSP、FreeMarker或Thymeleaf。
混合式的方式則會在某些方麵采用模板引擎與應用進行交互,並將視圖層委托給前端框架。
最後更新:2017-05-27 15:31:28