什么是框架?spring mvc框架
生活随笔
收集整理的這篇文章主要介紹了
什么是框架?spring mvc框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
框架:
框指的是其是一個框子,有約束性;架是指的其支撐性。IT中的框架主要指的為解決特定的一個開放性問題而設計的具有一定約束性的支撐結構。在次結構上可以根據具體問題安插、擴展更多的組成部分,從而迅速和方便的構建完整的解決問題的方案。
特點:
- 不能完整的解決問題,但是可以幫助我們快速的解決問題
- 天生為擴展而設計的,不針對特定問題,特定問題需要擴展、安插來實現
- 框架時常配套了一些幫助解決某類問題的庫或者工具,Java中就是一些列的jar包,其本質就是對jdk功能的擴展
SpringMVC框架的執行流程:
- 用戶發送請求,請求被dispatcherServlet 捕獲對url進行解析,根據URL,調用handlermapping找到對應的handler進行處理,執行完成后返回給modelandview返回給前端;
- dispatcherservlet根據modelandview對象調用視圖解析器viewresolver進行結果渲染,返回到客戶端
Struts2和springmvc的區別:
- 核心控制器:用途是處理所有的請,Struts2核心控制器是filter,而springMVC核心控制器是servlet。
- 控制器實例:springMVC是基于方法設計的,而Struts是基于對象,每次發送一個請求都實例化一個action,每個action都會注入。而springmvc只有一個實例,每次請求執行對應的方法即可
- 管理方式:springMVc是spring中的一個模塊,通過spring管理更加簡單方便,而Struts采用很多xml參數進行管理
- 參數傳遞:springmvc通過方法參數進行接收,Struts2則是自身提供
- 學習難度:Struts的攔截器、值棧、ognl表達式學習成本高,而springmvc比較簡單,較快上手
- interceptor的實現機制:Struts有自己的攔截器機制,而springmvc則是用的獨立的aop方式。導致Struts的配置文件比springmvc大,springmvc更加簡潔,開發效率也比Struts高很多
spring的兩大核心
IOC
核心原理:(容器map)+反射(工廠模式)+配置文件
AOP
核心原理:注解+動態代理(cglib+jdkproxy)在執行前后或者異常后做相關邏輯,主要用aop來做:事務處理,日志記錄、權限判斷
spring的事務傳播特性
- propagation——required :如果存在一個事務就支持當前事務,如果沒有則開啟事務
- propagation——supports:如果存在一個事務支持當前事務,如果沒有則以非事務的方式執行
- propagation——mandatory:如果存在一個事務則支持事務,如果沒有一個事務則拋出異常
- propagation——requires-new:總是開啟一個新的事務,如果一個事務已經存在則將這個存在的事務掛起
- propagation——not-supported:總是非事務的執行,并掛起任何存在的事務
- propagation——never:總是非事務的執行,如果存在一個活動的事務則拋出異常
- propagation——nested:如果一個活動的事務存在,則運行在一個嵌套的事物中,如果沒有活動事務,則按照propagation-required屬性執行
總結
以上是生活随笔為你收集整理的什么是框架?spring mvc框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php日期转时间戳
- 下一篇: C++如何产生随机数