apache struts2是什么 什么是Struts框架?
什么是Struts框架?struts和spring框架都用于開發(fā)JavaEE程序。簡單地說,這是因?yàn)樵瓉淼膉avaee(開發(fā)網(wǎng)站,前臺(tái)和后臺(tái))非常臃腫,開發(fā)非常費(fèi)勁。業(yè)務(wù)層、控制層、視圖層和數(shù)據(jù)層相互
什么是Struts框架?
struts和spring框架都用于開發(fā)JavaEE程序。簡單地說,這是因?yàn)樵瓉淼膉avaee(開發(fā)網(wǎng)站,前臺(tái)和后臺(tái))非常臃腫,開發(fā)非常費(fèi)勁。業(yè)務(wù)層、控制層、視圖層和數(shù)據(jù)層相互交織,相互影響。耦合度非常高(要更改業(yè)務(wù),需要更改大量代碼)。Struts框架是MVC框架,它將javaee開發(fā)中的控制層、視圖層和數(shù)據(jù)層分離開來。更確切地說,javaee的流行框架是SSM(spring,springmvc,mybatis)。springmvc是一個(gè)更好的MVC框架。spring框架是為了避免硬編碼引起的程序耦合。例如,如果我們需要調(diào)用一個(gè)函數(shù),我們需要導(dǎo)入一個(gè)新對(duì)象。所以這兩個(gè)類之間有聯(lián)系。使用spring框架,您不需要轉(zhuǎn)到新對(duì)象。(怎么稱呼?我們需要深入學(xué)習(xí)結(jié)論:struts和spring都是為了理解耦合和減少耦合(高內(nèi)聚和低耦合),從而使javaee開發(fā)更快更容易。使程序更易于維護(hù)。個(gè)人觀點(diǎn),僅供參考。。。。
如何領(lǐng)悟Java三大框架?
Hibernate:
Hibernate主要通過ORM(對(duì)象關(guān)系映射)和框架配置文件實(shí)現(xiàn)。讓實(shí)體類和數(shù)據(jù)庫表一一對(duì)應(yīng)。讓實(shí)體類先對(duì)應(yīng)數(shù)據(jù)庫表,讓實(shí)體類的屬性逐一對(duì)應(yīng)數(shù)據(jù)庫表中的字段。這樣,就不需要操作數(shù)據(jù)庫表,而需要操作表中相應(yīng)的實(shí)體類對(duì)象。以實(shí)現(xiàn)相應(yīng)的添加、刪除、修改和查詢操作。
Mybatis不是一個(gè)完整的ORM框架。mybatis的SQL需要開發(fā)人員自己編寫,但是它也提供了輸入和輸出的自動(dòng)映射,因此可以認(rèn)為它是一個(gè)半自動(dòng)的ORM框架。Mybatis可以靈活配置SQL語句通過XML或注解運(yùn)行,映射Java對(duì)象和SQL語句生成最終SQL,最后映射SQL執(zhí)行結(jié)果生成Java對(duì)象,對(duì)于客戶需求的變化更為靈活。但靈活性的前提是mybatis不能獨(dú)立于數(shù)據(jù)庫。如果需要實(shí)現(xiàn)支持多個(gè)數(shù)據(jù)庫的軟件,則需要自定義多組SQL映射文件,這是一個(gè)繁重的工作負(fù)載。Hibernate具有很強(qiáng)的對(duì)象關(guān)系映射能力和良好的數(shù)據(jù)庫無關(guān)性。
Struts2:
Struts2處理請(qǐng)求是為每個(gè)請(qǐng)求創(chuàng)建一個(gè)單獨(dú)的操作類。action類中的字段屬性參數(shù)用作輸入和輸出參數(shù),IOC用于依賴注入。它是基于類的開發(fā)。
類似地,SpringMVC使用輸入請(qǐng)求和響應(yīng)作為參數(shù),并返回modelandview,這是一種單例模式和基于方法的模式。
Spring:Spring的核心概念是di(依賴注入)和AOP(面向方面編程)。Di也稱為IOC(控制反轉(zhuǎn))。使用spring,可以通過IOC從spring容器中獲取所有對(duì)象。每個(gè)物體通過彈簧注入到相應(yīng)的位置。通過IOC,spring可以在下一個(gè)對(duì)象注入(DI)之前創(chuàng)建對(duì)象,因此DI依賴于IOC。