最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

java三大框架介紹

2018-10-01 10:06 作者:薈呀薈學(xué)習(xí)  | 我要投稿

常聽人提起三大框架,關(guān)于三大框架,做了如下了解:

三大框架:Struts+Hibernate+Spring

?java三大框架主要用來做WEB應(yīng)用。

?Struts主要負(fù)責(zé)表示層的顯示

?Spring利用它的IOC和AOP來處理控制業(yè)務(wù)(負(fù)責(zé)對(duì)數(shù)據(jù)庫的操作)

?Hibernate主要是數(shù)據(jù)持久化到數(shù)據(jù)庫

MVC三層架構(gòu):模型層,控制層和視圖層。模型層,用Hibernate框架讓來JavaBean在數(shù)據(jù)庫生成表及關(guān)聯(lián),通過對(duì)JavaBean的操作來 對(duì)數(shù)據(jù)庫進(jìn)行操作;控制層,用Struts框架來連接數(shù)據(jù)層和視圖層的,接收、處理、發(fā)送數(shù)據(jù)并控制流程;視圖層,用JSP模板把頁面展現(xiàn)給用戶以及提供與用戶的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整個(gè)架構(gòu),提供IOC容器使代碼松耦合以及AOP框架的切面功能 等等。

hibernate是底層基于jdbc的orm(對(duì)象關(guān)系映射)持久化框架,即:表與類的映射,字段與屬性的映射,記錄與對(duì)象的映射數(shù)據(jù)庫模型 也就是Model;

struts提供的豐富標(biāo)簽是用于顯示層View;同時(shí)struts也充當(dāng)了實(shí)現(xiàn)Control的功能(不管是Struts1,還是Struts2),接收參數(shù),視圖分發(fā)。

Spring是用于降低層與層間耦合度的,就是所有的類都可以由spring統(tǒng)一創(chuàng)建,用時(shí)只需注入即可(IOC).

從功能上來說,hibernate為M,struts 為V,也可以為C,spring可以為C。

但大多數(shù)項(xiàng)目中,hibernate為M,struts為V+C,spring用來幫助管理類以及實(shí)現(xiàn)一些業(yè)務(wù)無關(guān)功能,如日志記錄等,大多數(shù)都是用struts來做C的。

再用jsp的servlet做網(wǎng)頁開發(fā)的時(shí)候有個(gè)web.xml的映射文件,里面有一個(gè)mapping的標(biāo)簽就是用來做文件映射的。當(dāng)你在瀏覽器上輸入U(xiǎn)RL得知的時(shí)候,文件就會(huì)根據(jù)你寫的名稱對(duì)應(yīng)到一個(gè)JAVA文件,根據(jù)java文件里編寫的內(nèi)容顯示在瀏覽器上,就是一個(gè)網(wǎng)頁。

?

一?.Struts框架:

struts是開源軟件。使用Struts的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。如果我們想混合使用Servlets和JSP的優(yōu)點(diǎn)來建立可擴(kuò)展的應(yīng)用,struts是一個(gè)不錯(cuò)的選擇。

??? 1.流程:服務(wù)器啟動(dòng)后,根據(jù)web.xml加載ActionServlet讀取struts-config.xml文件內(nèi)容到內(nèi)存。

??? 2.架構(gòu):Struts對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來自用戶的請(qǐng)求。

?

Model部分:由JavaBean組成,ActionForm用于封裝用戶的請(qǐng)求參數(shù),封裝成ActionForm對(duì)象,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionFrom里面的請(qǐng)求參數(shù)處理用戶的請(qǐng)求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。

View部分:該部分采用JSP實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對(duì)應(yīng)上圖的JSP部分。

Controller組件:Controller組件有兩個(gè)部分組成——系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。?  系統(tǒng)核心控制器,對(duì)應(yīng)ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請(qǐng)求,本身不具備處理能力,而是調(diào)用Model來完成處理。對(duì)應(yīng)Action部分。

?

?二.Spring框架

Spring是一個(gè)解決了許多在J2EE開發(fā)中常見的的問題的強(qiáng)大框架。Springle提供了管理業(yè)務(wù)對(duì)象的一致方法并且鼓勵(lì)了注入對(duì)接口編程而不是對(duì)類變成的好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用JavaBean屬性的Inversion of Control?容器。然而Spring在使用IoC容器作為構(gòu)建玩關(guān)注所有架構(gòu)層層的完整解決方案方面是獨(dú)一無二的。Spring提供了唯一的數(shù)據(jù)管理抽象包括簡單和有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問架構(gòu)還集成了Hibernate和其他O/R mapping?解決方案。

?

三.Hibernate框架

Hibernate?是一個(gè)開源代碼的對(duì)象關(guān)系映射框架,對(duì)JDBC進(jìn)行了非常輕量級(jí)的的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操作數(shù)據(jù)庫。Hebernate可以應(yīng)用在任何使用JDBC的場合,既可以在java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用最具革命意義的事,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。

Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。

?

1.Session接口:負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱為用戶session。

2.SessionFactory接口:負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。

3.Configuration接口:負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。

4.Transaction接口:負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。

5.Query和Criteria接口:負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。


java三大框架介紹的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
维西| 武城县| 余干县| 松阳县| 东明县| 阿克苏市| 石景山区| 应城市| 崇仁县| 新沂市| 凤庆县| 宁安市| 尉氏县| 景洪市| 青铜峡市| 吉林市| 南陵县| 宝鸡市| 乌拉特中旗| 水城县| 大关县| 汉沽区| 饶阳县| 濮阳市| 河津市| 汶上县| 鹤壁市| 余庆县| 北海市| 贵阳市| 西丰县| 锡林郭勒盟| 阿拉善左旗| 吉隆县| 阜新| 田东县| 泰宁县| 洛扎县| 临澧县| 彩票| 察隅县|