springmvc和mybatis面试题
生活随笔
收集整理的這篇文章主要介紹了
springmvc和mybatis面试题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring MVC Framework有這樣一些特點:
1。它是基于組件技術的.全部的應用對象,無論控制器和視圖,還是業務對象之類的都是java組件.并且和Spring提供的其他基礎結構緊密集成. 2。不依賴于Servlet API(目標雖是如此,但是在實現的時候確實是依賴于Servlet的) 3。可以任意使用各種視圖技術,而不僅僅局限于JSP 4。支持各種請求資源的映射策略 5。它應是易于擴展的2) SpringMVC的工作流程?
1. 用戶發送請求至前端控制器DispatcherServlet 2. DispatcherServlet收到請求調用HandlerMapping處理器映射器。 3. 處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。 4. DispatcherServlet通過HandlerAdapter處理器適配器調用處理器 5. 執行處理器(Controller,也叫后端控制器)。 6. Controller執行完成返回ModelAndView 7. HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet 8. DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器 9. ViewReslover解析后返回具體View 10. DispatcherServlet對View進行渲染視圖(即將模型數據填充至視圖中)。 11. DispatcherServlet響應用戶3) 如果你也用過struts2.簡單介紹下springMVC和struts2的區別有哪些?
1. springmvc的入口是一個servlet即前端控制器,而struts2入口是一個filter過慮器。 2. springmvc是基于方法開發(一個url對應一個方法),請求參數傳遞到方法的形參,可以設計為單例或多例(建議單例),struts2是基于類開發,傳遞參數是通過類的屬性,只能設計為多例。 3. Struts采用值棧存儲請求和響應的數據,通過OGNL存取數據, springmvc通過參數解析器是將request請求內容解析,并給方法形參賦值,將數據和視圖封裝成ModelAndView對象,最后又將ModelAndView中的模型數據通過reques域傳輸到頁面。Jsp視圖解析器默認使用jstl。4) SpringMvc原理圖?
5) SSM優缺點、使用場景?
1. Mybatis和hibernate不同,它不完全是一個ORM框架,因為MyBatis需要程序員自己編寫Sql語句,不過mybatis可以通過XML或注解方式靈活配置要運行的sql語句,并將java對象和sql語句映射生成最終執行的sql,最后將sql執行的結果再映射生成java對象。2. Mybatis學習門檻低,簡單易學,程序員直接編寫原生態sql,可嚴格控制sql執行性能,靈活度高,非常適合對關系數據模型要求不高的軟件開發,例如互聯網軟件、企業運營類軟件等,因為這類軟件需求變化頻繁,一但需求變化要求成果輸出迅速。但是靈活的前提是mybatis無法做到數據庫無關性,如果需要實現支持多種數據庫的軟件則需要自定義多套sql映射文件,工作量大。3. Hibernate對象/關系映射能力強,數據庫無關性好,對于關系模型要求高的軟件(例如需求固定的定制化軟件)如果用hibernate開發可以節省很多代碼,提高效率。但是Hibernate的學習門檻高,要精通門檻更高,而且怎么設計O/R映射,在性能和對象模型之間如何權衡,以及怎樣用好Hibernate需要具有很強的經驗和能力才行。 4. 總之,按照用戶的需求在有限的資源環境下只要能做出維護性、擴展性良好的軟件架構都是好架構,所以框架只有適合才是最好。Mybatis?
1) 簡單介紹下你對mybatis的理解?
總結
以上是生活随笔為你收集整理的springmvc和mybatis面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: J2EE经典面试题及答案
- 下一篇: s3c2440移植MQTT