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