- 相關(guān)推薦
關(guān)于java三大框架的基本概念和原理的解析
前言:對(duì)于一個(gè)程序員來(lái)說(shuō),尤其是在java web端開(kāi)發(fā)的程序員,三大框架:Struts+Hibernate+Spring是必須要掌握熟透的,因此,下面談?wù)刯ava三大框架的基本概念和原理。
JAVA三大框架
一、Spring Spring是一個(gè)解決了許多在J2EE開(kāi)發(fā)中常見(jiàn)的問(wèn)題的強(qiáng)大框架。
Spring提供了管理業(yè)務(wù)對(duì)象的一致方法并且鼓勵(lì)了注入對(duì)接口編程而不是對(duì)類(lèi)編程的良好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構(gòu)建完關(guān)注所有架構(gòu)層的完整解決方案方面是獨(dú)一無(wú)二的。
Spring提供了唯一的數(shù)據(jù)訪問(wèn)抽象,包括簡(jiǎn)單和有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問(wèn)架構(gòu)還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務(wù)管理抽象,它能夠在各種底層事務(wù)管理技術(shù),例如JTA或者JDBC事務(wù)提供一個(gè)一致的編程模型。Spring提供了一個(gè)用標(biāo)準(zhǔn)Java語(yǔ)言編寫(xiě)的AOP框架,它給POJOs提供了聲明式的事務(wù)管理和其他企業(yè)事務(wù)--如果你需要--還能實(shí)現(xiàn)你自己的aspects。這個(gè)框架足夠強(qiáng)大,使得應(yīng)用程序能夠拋開(kāi)EJB的復(fù)雜性,同時(shí)享受著和傳統(tǒng)EJB相關(guān)的關(guān)鍵服務(wù)。Spring還提供了可以和IoC容器集成的強(qiáng)大而靈活的MVC Web框架。
二、STRUCTS Struts是一個(gè)基于Sun J2EE平臺(tái)的MVC框架,主要是采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)的。
由于Struts能充分滿(mǎn)足應(yīng)用開(kāi)發(fā)的需求,簡(jiǎn)單易用,敏捷迅速,在過(guò)去的一年中頗受關(guān)注。Struts把Servlet、JSP、自定義標(biāo)簽和信息資源(message resources)整合到一個(gè)統(tǒng)一的框架中,開(kāi)發(fā)人員利用其進(jìn)行開(kāi)發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC模式,極大的節(jié)省了時(shí)間,所以說(shuō)Struts是一個(gè)非常不錯(cuò)的應(yīng)用框架。
三、Hibernate Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。
Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序?qū)嵱茫部梢栽赟ervlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。
JAVA三大框架用來(lái)做WEB應(yīng)用。
struts主要負(fù)責(zé)表示層的顯示 spring利用它的IOC和AOP來(lái)處理控制業(yè)務(wù)(負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作)
hibernate主要是數(shù)據(jù)的持久化到數(shù)據(jù)庫(kù) 在用jsp的servlet做網(wǎng)頁(yè)開(kāi)發(fā)的時(shí)候有個(gè)web.xml的映射文件,里面有個(gè)mapping的標(biāo)簽就是用來(lái)做文件映射的。 當(dāng)你在瀏覽器上輸入U(xiǎn)RL地址的時(shí)候,文件就會(huì)根據(jù)你寫(xiě)的名稱(chēng)對(duì)應(yīng)到一個(gè)java文件,根據(jù)java文件里編寫(xiě)的內(nèi)容顯示在瀏覽器上,就是一個(gè)網(wǎng)頁(yè),所以網(wǎng)頁(yè)名字是隨便寫(xiě)的,隨便起的名字,不管你起的是.php .jsp .do還是其他的什么都對(duì)應(yīng)這個(gè)java文件,這個(gè)java文件里的代碼進(jìn)行什么操作就干什么,顯示一句話(huà)還是連接數(shù)據(jù)庫(kù)還是跳轉(zhuǎn)到其他頁(yè)面等等,這個(gè)java文件把數(shù)據(jù)進(jìn)行封裝起到安全和便于管理的作用。其實(shí)這個(gè)java文件編譯過(guò)來(lái)是.class的一個(gè)字節(jié)碼文件,沒(méi)有那么一個(gè)類(lèi)似html嵌入標(biāo)簽和代碼的網(wǎng)頁(yè)文件。他與jsp文件區(qū)別就是jsp把代碼嵌入到html標(biāo)簽中。 還有servlet或者struts中html表單的action中的提交名稱(chēng)對(duì)應(yīng)一個(gè)java文件,struts一般是.do的,都和上面一樣是映射。
總結(jié):簡(jiǎn)單來(lái)說(shuō):
Struts是web開(kāi)發(fā)框架負(fù)責(zé)表單提交(相當(dāng)于電腦顯卡)
Hibernate負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作(相當(dāng)于電腦CPU)
Spring相當(dāng)于一個(gè)主板(將顯卡和CPU組裝在一起)
【java三大框架的基本概念和原理的解析】相關(guān)文章:
2017年執(zhí)業(yè)藥師考點(diǎn):PH值的基本概念和原理09-12
java的三大主流框架10-29
java語(yǔ)言源碼解析05-27
Java原理面試題07-13
java應(yīng)用程序的基本框架09-13
教你JAVA語(yǔ)言快速排序的原理10-04
Java的Struts框架簡(jiǎn)介與環(huán)境配置步驟09-03
java讀取解析xml文件實(shí)例08-05