前言:對于一個程序員來說,尤其是在java web端開發的程序員,三大框架:Struts+Hibernate+Spring是必須要掌握熟透的,因此,下面談談java三大框架的基本概念和原理。
JAVA三大框架
一、Spring Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。
Spring提供了管理業務對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基于使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。
Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率并且減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。Spring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。
二、STRUCTS Struts是一個基于Sun J2EE平臺的MVC框架,主要是采用Servlet和JSP技術來實現的。
由于Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。
三、Hibernate Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。
Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
JAVA三大框架用來做WEB應用。
struts主要負責表示層的顯示 spring利用它的IOC和AOP來處理控制業務(負責對數據庫的操作)
hibernate主要是數據的持久化到數據庫 在用jsp的servlet做網頁開發的時候有個web.xml的映射文件,里面有個mapping的標簽就是用來做文件映射的。 當你在瀏覽器上輸入URL地址的時候,文件就會根據你寫的名稱對應到一個java文件,根據java文件里編寫的內容顯示在瀏覽器上,就是一個網頁,所以網頁名字是隨便寫的,隨便起的名字,不管你起的是.php .jsp .do還是其他的什么都對應這個java文件,這個java文件里的代碼進行什么操作就干什么,顯示一句話還是連接數據庫還是跳轉到其他頁面等等,這個java文件把數據進行封裝起到安全和便于管理的作用。其實這個java文件編譯過來是.class的一個字節碼文件,沒有那么一個類似html嵌入標簽和代碼的網頁文件。他與jsp文件區別就是jsp把代碼嵌入到html標簽中。 還有servlet或者struts中html表單的action中的提交名稱對應一個java文件,struts一般是.do的,都和上面一樣是映射。
總結:簡單來說:
Struts是web開發框架負責表單提交(相當于電腦顯卡)
Hibernate負責對數據庫的操作(相當于電腦CPU)
Spring相當于一個主板(將顯卡和CPU組裝在一起)