java開(kāi)發(fā)常用四大框架 如何領(lǐng)悟Java三大框架?
如何領(lǐng)悟Java三大框架?Hibernate:Hibernate主要通過(guò)ORM(對(duì)象關(guān)系映射)和框架配置文件來(lái)實(shí)現(xiàn)。讓實(shí)體類和數(shù)據(jù)庫(kù)表一一對(duì)應(yīng)。讓實(shí)體類先對(duì)應(yīng)數(shù)據(jù)庫(kù)表,讓實(shí)體類的屬性逐一對(duì)應(yīng)數(shù)據(jù)庫(kù)表中
如何領(lǐng)悟Java三大框架?
Hibernate:
Hibernate主要通過(guò)ORM(對(duì)象關(guān)系映射)和框架配置文件來(lái)實(shí)現(xiàn)。讓實(shí)體類和數(shù)據(jù)庫(kù)表一一對(duì)應(yīng)。讓實(shí)體類先對(duì)應(yīng)數(shù)據(jù)庫(kù)表,讓實(shí)體類的屬性逐一對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的字段。這樣,就不需要操作數(shù)據(jù)庫(kù)表,而需要操作表中相應(yīng)的實(shí)體類對(duì)象。以實(shí)現(xiàn)相應(yīng)的添加、刪除、修改和查詢操作。
Mybatis不是一個(gè)完整的ORM框架。mybatis的SQL需要開(kāi)發(fā)人員自己編寫(xiě),但是它也提供了輸入和輸出的自動(dòng)映射,因此可以認(rèn)為它是一個(gè)半自動(dòng)的ORM框架。Mybatis可以靈活配置SQL語(yǔ)句通過(guò)XML或注解運(yùn)行,映射Java對(duì)象和SQL語(yǔ)句生成最終SQL,最后映射SQL執(zhí)行結(jié)果生成Java對(duì)象,對(duì)于客戶需求的變化更為靈活。但靈活性的前提是mybatis不能獨(dú)立于數(shù)據(jù)庫(kù)。如果需要實(shí)現(xiàn)支持多個(gè)數(shù)據(jù)庫(kù)的軟件,則需要自定義多組SQL映射文件,這是一個(gè)繁重的工作負(fù)載。Hibernate具有很強(qiáng)的對(duì)象關(guān)系映射能力和良好的數(shù)據(jù)庫(kù)無(wú)關(guān)性。
Struts2:
Struts2處理請(qǐng)求是為每個(gè)請(qǐng)求創(chuàng)建一個(gè)單獨(dú)的操作類。action類中的字段屬性參數(shù)用作輸入和輸出參數(shù),IOC用于依賴注入。它是基于類的開(kāi)發(fā)。
類似地,SpringMVC使用輸入請(qǐng)求和響應(yīng)作為參數(shù),并返回modelandview,這是一種單例模式和基于方法的模式。
Spring:Spring的核心概念是di(依賴注入)和AOP(面向方面編程)。Di也稱為IOC(控制反轉(zhuǎn))。使用spring,可以通過(guò)IOC從spring容器中獲取所有對(duì)象。每個(gè)物體通過(guò)彈簧注入到相應(yīng)的位置。通過(guò)IOC,spring可以在下一個(gè)對(duì)象注入(DI)之前創(chuàng)建對(duì)象,因此DI依賴于IOC。
現(xiàn)在用Java開(kāi)發(fā)網(wǎng)站可以不用框架嗎?需要注意什么呢?
對(duì)于這個(gè)問(wèn)題,我想說(shuō)的是,這是不清楚的幾句話。首先,原則上可以實(shí)現(xiàn),因?yàn)樗^的框架只是為了更方便的開(kāi)發(fā)和更快的開(kāi)發(fā)??蚣艿谋举|(zhì)是什么?不也是代碼嗎?框架本身就是一個(gè)項(xiàng)目。對(duì)于那些開(kāi)發(fā)框架的人來(lái)說(shuō),你使用的框架并不容易,因?yàn)檫@是他們的項(xiàng)目。
更重要的是,您所說(shuō)的所謂框架的使用與否與您的項(xiàng)目有很大關(guān)系,您的項(xiàng)目每天有多少訪問(wèn),您的增長(zhǎng)速度有多快,您的預(yù)算成本有多少,您的開(kāi)發(fā)周期預(yù)計(jì)有多長(zhǎng),以及在決定一個(gè)項(xiàng)目使用什么樣的框架時(shí)涉及到多少因素。
如果您的項(xiàng)目沒(méi)有足夠的實(shí)力來(lái)開(kāi)發(fā)自己的框架,建議使用開(kāi)源框架。至少,它將節(jié)省大量的時(shí)間和成本。時(shí)間就是金錢(qián)。不要考慮不使用框架的問(wèn)題。如果你想開(kāi)發(fā)你自己的框架,來(lái)吧。