更新時間:2020-03-12 09:29:14 來源:動力節點 瀏覽2255次
學習Java的人對其三大框架都不會陌生,這三大框架也就是Struts+Hibernate+Spring,主要用來做Web應用。但是在初學者看來,它們也被賦予了太多神秘的色彩,究竟要不要重點學還是存在很多的爭議。
一、spring
我們知道企業開發面臨著一個讓所有程序員都非常頭疼的問題,那就是需求的不斷變動,導致系統不停的修改。其中接口可以一定成度的解決服務間耦合度過高的問題,但是依然無法完全解耦。就比如說一個類A依賴于服務S,S的服務實現有s1,那么在A類中使用服務S時必然會有news1的操作,這就出現了強耦合,假如S的服務實現有變化,需要改為s2,這個時候就需要修改類A里面的代碼,這明顯是不合理的。為什么不合理可以舉個例子:電腦使用U盤1存儲數據和使用U盤2存儲數據,在更換不同的U盤時是不需要修改電腦硬件的。為了解決這個強耦合問題,spring出現了,spring通過XML配置文件來描述類之間的依賴關系,這里面配置文件只有類名之間的關系,運行時是需要創建類的實例的,所以spring是基于反射機制的。使用spring之后之前的問題中,類A就不會再去new服務S的實現了,而是將類A依賴的服務配置到XML中,由spring去管理類之間的依賴(由人控制轉為系統控制,這也就是為什么說spring的技術核心是控制反轉),這樣之前的問題就完美解決了,服務S的實現變更了無非就是修改XML配置文件罷了,不需要到處去找new了s1的類。由于類A依賴的服務S的實現由spring控制,這樣就可以做一些比較有趣的事情,比如說AOP,spring完全可以在獲取s1的實例的時候生成s1類實例的代理類(通過ASM或CGLIB或著依賴于ASM的javassist或著java自帶的動態代理),這樣就可以實現對s1的方法級的調用“攔截”。因為spring的這種強大的解耦性,所以spring可以和任何一個框架進行完美集成。
二、Hibernate(我這里簡稱H)
java里面一切都是對象,在和數據庫打交道時就不是那么“對象”了,往往數據庫中的table和java里面的entity是有一個對應關系的,但是在將java的一個entity保存到數據庫對應的表,這就需要一個將entity轉換成sql的過程,這個過程是很繁雜而且易出錯,于是有了Hibernate,使用H保存數據變得如此容易,H通過配置文件來描述類和表的映射關系,連類里面那種多對多和一對多等等關系都可以實現自動生成對多表的更新操作。但是H在做數據查詢時就不是那么愉快了,往往我們只需要查詢幾個字段的時候,H查出來的會是一大坨的數據,所以H不是特別適合做企業項目,但是H非常適合做不同數據庫間的同步。
三、struts
早起ajax技術沒有出現的時候,前端向后臺提交數據都是通過表單的,表單和java對象的互相轉換問題也讓很多程序員頭疼不已,struts的出現解決了表單和java對象的互相轉換問題,還有前端jsp的頁面布局問題,訪問等。在springmvc沒有出現之前SSH算是一個比較完美的框架組合,但是由于H的坑,很多人轉向了SSM,或者直接就是Springmvc+mybatis。
以上就是動力節點Java培訓機構小編介紹的“Java三大框架視頻教程下載”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習