首頁  >  問答  >  主體

Spring Boot + React + MySQL 應用程式的架構層是什麼?

我正在嘗試編寫有關該應用程式的文檔,但我對如何描述架構感到困惑。

根據我所做的研究,我認為表示層是我的 React 應用程序,業務/應用程式層是 Spring Boot 應用程序,而資料層是 MySQL。

這對我來說看起來很邏輯,但我偶然發現了這個教程

https://www.youtube.com/watch?v=xJC7ItRoEbw&ab_channel=Amigoscode

他在 10:38 左右說控制器是表示層的一部分,這似乎與我已經知道的內容沒有聯繫。

還有另一個教學 https://www.youtube.com/watch?v=udzBtJv2uls&ab_channel=Izenda,它表達了我最初的想法。

此外,我知道 Spring Boot 應用程式具有多層控制、服務和儲存庫(或 dao),因此我想結合所有這些信息,但我不確定是否要編寫一些大的內容是否有錯誤

您能否根據我的專案向我解釋一下這些內容?在前端,我有一個 React 應用程序,它將獲取請求發送到典型的控制器,該控制器調用服務方法,該方法調用與資料庫通信並執行查詢的存儲庫方法。

P粉346326040P粉346326040170 天前401

全部回覆(1)我來回復

  • P粉288069045

    P粉2880690452024-04-04 09:29:27

    在影片中,演示者非常非正式,他可以互換使用層和層。很多人都這樣做,你必須弄清楚上下文的意圖。

    對我來說,層通常意味著跨不同機器的分佈。 MySQL、springboot 應用程式和用戶端瀏覽器中的 React 程式碼通常都會運行在不同的機器上,因此它們是不同的層。

    但是術語「層」並不意味著這樣的分佈,SpringBoot 應用程式可以具有 Web 控制器層、服務層和資料存取層,它們都是同一應用程式工件的一部分。該術語用於討論應用程式內的邏輯是如何組織的。

    Spring 最初是對一種流行假設的回應,即應用程式必須透過 Web 應用程式分層構建,這些 Web 應用程式稱為 ejb 伺服器,這些伺服器託管在單獨的叢集上並透過網路進行通訊。 Spring 創辦人對層和層進行了區分,以便更容易解釋他們的方法。 Rod Johnson 的一對一書中介紹了 Spring 的主要思想,其中使用了此措辭。

    控制器是否是表示層的一部分是有爭議的。對我來說,演示意味著外觀和感覺,控制器執行特定於 Web 的操作,例如公開端點、驗證參數等,但尤其是在 SPA 中,演示位於前端程式碼中,而伺服器端僅提供資料。在 SPA 控制器之前,控制器會轉送到在伺服器上呈現 html 的視圖,因此控制器和簡報的相關性更加緊密。

    回覆
    0
  • 取消回覆