Java中有十個常用框架:
springMVC,spring,mybatis,Dubbo,Maven,RabbiMQ,Log4j,Ehcache,Refis,Shiro
一:ring MVC:是一種基於Java實現了web MVC設計模式的請求驅動類型的輕量級WEB框架
model(模型)封裝了應用程序的數據和一般他們會組成的POJO
view(視圖)是負責程序按模型數據和它生成的HTML輸出,
controller(控制器)負責處理用戶的請求並且建立適當的模型,並且把它傳遞給視圖渲染
spring的web模型-視圖-控制器(MVC)框架是圍繞着處理所有HTTP請求和響應DispatcherServlet的設計。
具體步驟:
1.用戶發送請求----》到前端控制器,前端控制器根據請求的信息(如URL)來決定選擇那一個頁面控制器進行處理並把請求委托給它
2.頁面控制器接收到請求后,進行功能處理,首先需要收集綁定請求參數到一個對象,這個對象在springwebMVC中叫命令對象,並進行驗證,然后將命令對象委托給業務對象進行處理,處理完畢后返回一個modelandview(模型數據和邏輯視圖名)
3,前端控制器收回控制權,然后根據返回的邏輯視圖名,選擇相應的視圖進行渲染,並把模型數據傳入一便視圖渲染
4.前端控制器再次收回控制權,將響應返回給用戶
二:spring
1.IOC容器:是具有依賴注入功能的容器,負責實例化、定位、配置應用程序中的對象及建立這些對象間的依賴
在spring中BeanFactory是IOC容器 的實際代表
2.AOP:是將於業務無關,但是為業務模型所共同調用的邏輯或責任封裝起來,以便減少系統的重復代碼,降低模塊間的耦合度,並有利於未來的可操控性和可維護性,AOP代表的是橫向的關系
AOP用來封裝橫切關注點,可以在以下場景使用:
Authentication權限Caching緩存Context passing內容傳遞Error handling錯誤處理lazyloading 懶加載Debuging 調試loggging,tracing,profiling and monitoring 記錄跟蹤 優化 校准Performance optimization 性能優化Perskstence 持久化Resource pooling 資源池Synchronization 同步Transactions事務
三:mybatis:是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。幾乎消除了所有的jdbc代碼和參數的手工設置以及結果集的檢索。mybatis使用簡單的xml或者注解用於配置和原始映射,將接口和Java的POJOs(Plain Old JavaObject,普通的Java對象)映射成數據庫中的記錄
總體流程:
1.加載配置並初始化觸發條件:加載配置文件將SQL的配置信息加載成為一個個MAppedStatement對象(包括了傳入參數映射配置、執行的SQL語句、結果映射配置),存儲在內存中
2.接收調用請求 觸發條件:調用mybatis提供的API傳入參數:為SQL的ID和傳入參數對象處理過程:將請求傳遞給下層的請求處理層進行處理
3.處理操作請求 觸發條件:API接口層傳遞請求過來:傳入參數:為SQL的ID和傳入參數對象
處理過程:
a。根據SQL的ID查找對應的MappedStatement對象
b。根據傳入參數對象解析MappedSttement對象,得到最終要執行的SQL和執行傳入參數
c。獲取數據庫連接,根據得到的最終SQL語句和執行傳入參數到數據庫執行,並得到執行結果
d。根據MAppedStatement對象中的結果映射配置對得到的執行結果進行轉換處理,並得到最終的處理結果
e。釋放連接資源
四.Dubbo
是一個分布式服務框架,致力於提供高性能和透明化的RPC(遠程過程調用協議)遠程服務調用方案。以及SOA服務治理方案
4.返回處理結果並將最終的處理結果返回
五、Maven
Maven這個個項目管理和構建自動化工具,越來越多的開發人員使用它來管理項目中的jar包。但是對於我們程序員來說,我們最關心的是它的項目構建功能。
