2023-11-24 分類: 網(wǎng)站建設(shè)
01 前言
Java框架一直是面試必備的知識(shí)點(diǎn),掌握J(rèn)ava框架,無論是在成熟的大公司,快速成長(zhǎng)的公司,還是創(chuàng)業(yè)公司,都能對(duì)當(dāng)前的系統(tǒng)有一個(gè)整體的了解開發(fā)中 在本文中,龐大打算介紹幾個(gè)現(xiàn)階段流行的框架組合。無論是在傳統(tǒng)企業(yè)開發(fā)領(lǐng)域,還是互聯(lián)網(wǎng)開發(fā)領(lǐng)域,這幾類框架應(yīng)該都比較好。比較常用。
02 三層架構(gòu)
說到框架,首先要明確的是,在web開發(fā)領(lǐng)域,架構(gòu)一般分為三個(gè)部分:表示層、持久層、業(yè)務(wù)層。之所以將整體架構(gòu)分為三層,是為了讓整個(gè)系統(tǒng)更有條理,通過分配任務(wù)來解耦系統(tǒng),讓每一層只關(guān)心自己的內(nèi)部事務(wù),只知道下層的存在,而不知道上層的存在。為了達(dá)到局部變化而不影響全局的目的,比如餐廳里有服務(wù)員、廚師、收銀等。三層架構(gòu)如下圖所示(圖中數(shù)據(jù)訪問層為文中持久層):
下面簡(jiǎn)單介紹一下三層架構(gòu):
1.表現(xiàn)層
表現(xiàn)層其實(shí)就是用戶可以看到的界面展示層,但它的職責(zé)不僅僅是展示界面那么簡(jiǎn)單,還需要完成三件事:
從接口獲取數(shù)據(jù)與后臺(tái)服務(wù)器交互
與后臺(tái)交互后的數(shù)據(jù)綁定
在頁(yè)面上呈現(xiàn)綁定數(shù)據(jù)
一般來說,這一層的設(shè)計(jì)會(huì)采用MVC模式。 M稱為,是實(shí)體類,用于數(shù)據(jù)封裝和數(shù)據(jù)傳輸; V是view,是頁(yè)面組件,用于數(shù)據(jù)展示。 ; C是,即流程事件,用于流程控制。
2.業(yè)務(wù)層
這一層的功能主要是實(shí)現(xiàn)一些具體的問題操作mvc編程技術(shù)模式,因?yàn)樗潜憩F(xiàn)層和持久層之間的通信橋梁,主要負(fù)責(zé)數(shù)據(jù)的傳輸和處理。
在日常的代碼開發(fā)中,一般對(duì)應(yīng)邏輯層。對(duì)于一些涉及數(shù)據(jù)庫(kù)的復(fù)雜邏輯判斷和數(shù)據(jù)校驗(yàn),需要在這一層進(jìn)行處理,同時(shí)根據(jù)傳入的值返回用戶想要的值。或處理相關(guān)操作。
3.持久層
又稱數(shù)據(jù)訪問層,顧名思義,這一層其實(shí)就是直接與數(shù)據(jù)庫(kù)打交道的層。通過連接數(shù)據(jù)庫(kù),根據(jù)傳入的值對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查。
03 框架組合
對(duì)于上述架構(gòu)的每一層,目前在web開發(fā)領(lǐng)域都有一些優(yōu)秀的框架。比如表現(xiàn)層有等等,持久層有等等,業(yè)務(wù)層有框架,但是嚴(yán)格來說是一個(gè)框架,業(yè)務(wù)層面,每個(gè)公司的每個(gè)項(xiàng)目都會(huì)根據(jù)不同的情況處理到它自己的需要。在項(xiàng)目的開發(fā)中,有幾種廣泛使用的框架組合:
1.SSH 框架組合
SSH框架組合主要包括三個(gè)框架,作為系統(tǒng)的整體基礎(chǔ)設(shè)施,負(fù)責(zé)MVC的分離,在框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),使用框架提供支持持久層,同時(shí)管理和,框架的具體解釋如下:
是一個(gè)基于 MVC 設(shè)計(jì)模式的 Web 應(yīng)用程序框架。它本質(zhì)上等同于一個(gè)。在MVC設(shè)計(jì)模式中,它充當(dāng)控制器()來建立模型和視圖之間的數(shù)據(jù)交互。
它包含兩個(gè)版本,兩者的差別其實(shí)還是蠻大的。不是正確的更新,而是充分發(fā)揮了這兩種技術(shù)的優(yōu)勢(shì)。它摒棄了原有的缺點(diǎn),使Web開發(fā)發(fā)生了變化。更容易。
學(xué)完基礎(chǔ),大家應(yīng)該都知道,最傳統(tǒng)的Java Web應(yīng)用是用JSp實(shí)現(xiàn)的,而且。這種模式實(shí)現(xiàn)了最基本的MVC分層,使得程序結(jié)構(gòu)有負(fù)責(zé)前端展示的JSp,負(fù)責(zé)流程邏輯控制和數(shù)據(jù)封裝,但是這種結(jié)構(gòu)有很多問題,比如需要使用符號(hào)來嵌入很多JSp頁(yè)面中的Java代碼,導(dǎo)致頁(yè)面結(jié)構(gòu)混亂,并負(fù)責(zé)大量的跳轉(zhuǎn)和計(jì)算,耦合緊密。程序復(fù)用性低。
框架的出現(xiàn)解決了這個(gè)問題。在AOp和IOC兩大特性的支持下,所有類之間的這種依賴關(guān)系完全被配置文件取代,實(shí)體bean得到很好的管理。在容器中,耦合大大減少,復(fù)用性大大提高。
傳統(tǒng)的持久層框架都采用Java JDbC連接方式進(jìn)行數(shù)據(jù)庫(kù)訪問和操作,需要手工編寫大量SQL或代碼,同時(shí)獲取的數(shù)據(jù)需要經(jīng)過轉(zhuǎn)換或封裝后才能被使用傳送。對(duì)于大型項(xiàng)目來說,這是一個(gè)非常繁瑣的過程。
該框架是一個(gè)半自動(dòng)化的持久層框架,可以減少大量的SQL和代碼編寫工作,節(jié)省很大一部分工作量。在這個(gè)框架中,當(dāng)我們需要進(jìn)行相關(guān)操作時(shí)mvc編程技術(shù)模式,就不再需要關(guān)注數(shù)據(jù)庫(kù)表了。無需逐行查詢數(shù)據(jù)庫(kù)。只需要持久化一個(gè)類即可完成增刪改查功能。因?yàn)榭蚣芤呀?jīng)實(shí)現(xiàn)了很多數(shù)據(jù)庫(kù)操作的方法,我們只需要調(diào)用它。最多的工作是在持久化類上。
2.SSM 幀組合
另一個(gè)比較流行的框架組合是SSM框架,主要包括三個(gè)框架,作為整體基礎(chǔ)框架,分離MVC層,作為與數(shù)據(jù)庫(kù)交互的持久層框架。它負(fù)責(zé)數(shù)據(jù)的訪問和操作,但仍作為其他兩個(gè)框架之間的橋梁,進(jìn)行數(shù)據(jù)傳輸、事務(wù)等邏輯處理,下面不再贅述。詳情如下:
而且兩者都屬于表??現(xiàn)層的框架,但又是框架的一部分,這賦予了它先天的優(yōu)勢(shì)。延續(xù)了配置簡(jiǎn)單省心的特點(diǎn),并且因?yàn)闊o縫對(duì)接,讓安全有了很大的保證。同時(shí)解決了一個(gè)很大的問題,就是如何降低處理業(yè)務(wù)數(shù)據(jù)的對(duì)象和展示業(yè)務(wù)數(shù)據(jù)的視圖之間的耦合。這個(gè)問題的解決使開發(fā)更容易。
是一個(gè)優(yōu)秀的持久層框架,支持自定義SQL、存儲(chǔ)過程和高級(jí)映射,避免了幾乎所有的JDbC代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集的復(fù)雜性。它可以使用簡(jiǎn)單的 XML 或注解來配置和映射原生信息,并將接口和 Java 對(duì)象映射到數(shù)據(jù)庫(kù)中的記錄。
它很優(yōu)秀,但與它的包裝相比,它太死板了。對(duì)于一些復(fù)雜的SQL,開發(fā)人員更喜歡手動(dòng)編寫一些代碼,而不是用特定的HQL語(yǔ)言編寫,這會(huì)間接增加工作量。學(xué)習(xí)成本低很多,學(xué)習(xí)成本低很多。但是,我不得不承認(rèn),開源社區(qū)的數(shù)量必須被壓垮。畢竟很多國(guó)外大佬還是喜歡用的,以后可以細(xì)細(xì)探索。
04 總結(jié)
無論如何,學(xué)好框架對(duì)我們有很大的幫助。在本文中,龐達(dá)只是簡(jiǎn)單介紹了框架的三層框架和兩種流行的框架組合。在下面的文章中,我將討論一些我將對(duì)該框架進(jìn)行詳細(xì)介紹。如果有機(jī)會(huì),我會(huì)記錄下框架集成的過程,分享給大家。希望大家能從我的文章中有所收獲。也希望能堅(jiān)持技術(shù)分享,與大家共同成長(zhǎng)。
當(dāng)前題目:幾款現(xiàn)階段流行的框架組合,你知道幾個(gè)?(上)
當(dāng)前URL:http://m.newbst.com/news33/296333.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、企業(yè)網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、品牌網(wǎng)站制作、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容