struts框架原理 如何領(lǐng)悟Java三大框架?
如何領(lǐng)悟Java三大框架?Hibernate:Hibernate主要就是ORM(對(duì)象關(guān)系映射)由框架 配置文件實(shí)現(xiàn)的。讓實(shí)體類和數(shù)據(jù)庫(kù)表進(jìn)行一一對(duì)應(yīng)關(guān)系。讓實(shí)體類先和數(shù)據(jù)庫(kù)表對(duì)應(yīng),讓實(shí)體類屬性和數(shù)據(jù)庫(kù)
如何領(lǐng)悟Java三大框架?
Hibernate:
Hibernate主要就是ORM(對(duì)象關(guān)系映射)由框架 配置文件實(shí)現(xiàn)的。讓實(shí)體類和數(shù)據(jù)庫(kù)表進(jìn)行一一對(duì)應(yīng)關(guān)系。讓實(shí)體類先和數(shù)據(jù)庫(kù)表對(duì)應(yīng),讓實(shí)體類屬性和數(shù)據(jù)庫(kù)表中字段一一對(duì)應(yīng)。這樣就不需要操作數(shù)據(jù)庫(kù)表,而操作表中對(duì)應(yīng)的實(shí)體類對(duì)象。以此來(lái)實(shí)現(xiàn)對(duì)應(yīng)的增刪改查操作。
同樣對(duì)于dao層的框架還有Mybatis,Mybatis不是一個(gè)完全的ORM框架,MyBatis的sql需要開發(fā)人員自己編寫,但同時(shí)提供了輸入和輸出的自動(dòng)映射,所以可以認(rèn)為是半自動(dòng)的ORM框架。Mybatis可以通過(guò)XML或注解方式靈活配置要運(yùn)行的sql語(yǔ)句,并將java對(duì)象和sql語(yǔ)句映射生成最終執(zhí)行的sql,最后將sql執(zhí)行的結(jié)果再映射生成java對(duì)象,對(duì)于不斷變更的客戶需求更加靈活。但是靈活的前提是Mybatis無(wú)法做到數(shù)據(jù)庫(kù)無(wú)關(guān)性,如果需要實(shí)現(xiàn)支持多種數(shù)據(jù)庫(kù)的軟件則需要自定義多套sql映射文件,工作量大。而Hibernate對(duì)象關(guān)系映射能力強(qiáng),數(shù)據(jù)庫(kù)無(wú)關(guān)性好。
Struts2:
Struts2處理請(qǐng)求是為每個(gè)請(qǐng)求都創(chuàng)建一個(gè)單獨(dú)的Action類,Action類當(dāng)中的Field屬性參數(shù)作為輸入和輸出參數(shù)用IOC來(lái)依賴注入的方式,是基于類的開發(fā)。
同樣的SpringMVC則采用輸入Request和Reponse作為參數(shù),返回ModelAndView的方式,是單例的模式,且是基于方法的模式。
spring:
Spring最核心的概念就是DI(依賴注入)和AOP(面向切面編程),DI也稱為IoC(控制反轉(zhuǎn))。有了Spring之后,通過(guò)IOC,所有的對(duì)象都可以從Spring容器中得到。每個(gè)對(duì)象由Spring注入到對(duì)應(yīng)的地方。通過(guò)IoC先由Spring創(chuàng)建對(duì)象后,才能進(jìn)行下一步對(duì)象注入(DI),所以說(shuō)DI依賴IOC。