亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

打包結構化 Spring 項目的最佳實踐是什么?

打包結構化 Spring 項目的最佳實踐是什么?

HUWWW 2023-03-09 13:36:46
我有 spring 云項目和每個微服務,我想我有很多包。我還有模型包女巫包含實體和自定義請求響應對象。問題一:實體類的包名必須是什么?實體還是模型?問題2:Searchrequest & Searchresponse 等請求響應類必須保存在哪里?在模型包中還是我必須創建其他包?問題 3:是否存在一些包結構標準?(請給我鏈接)
查看完整描述

4 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

沒有嚴格的規定。您必須使用自解釋的命名(不需要深入研究類內容來理解其含義)。這適用于微服務、Web 應用程序、批處理和任何類型的應用程序。

我想我有很多包裹

包的主要作用是以人類可讀的方式對事物進行排序。
例如,如果你的包有 2 或 3 個類,你可能想知道它們的相關性。
同樣,如果一個包中有 50 個類,您也會想知道是否不應該將它們拆分為子包。
請注意,包在可訪問性方面也有作用:實際上,package private訪問級別允許設置/減少類或類成員對當前包的類的可訪問性。它在設計和隔離方面也可能非常有用。

關于你的 3 個問題:

問題一:實體類的包名必須是什么?實體還是模型?

在 Java 中,entity一般指 JPA 實體(Spring 項目中的整體)。雖然model指的是一個更一般的概念,它包括entity但不僅因為數據模型也可以是DTO模型的對象和任何數據專業化。
如果您使用單個數據對象層(也用作 JSON 表示的 JPA 實體),則使用該model術語是完全有意義的。如果您使用多個抽象級別,則按抽象級別打包更有意義。

問題2:Searchrequest & Searchresponse 等請求響應類必須保存在哪里?在模型包中還是我必須創建其他包?

如果這些對象經過每一層 : in model,否則可能在其他地方。

問題 3:是否存在一些包結構標準?(請給我鏈接)

3) 不是真的,但根據經驗,它應該是不言自明的,非常清楚并且由項目團隊共享,以促進項目之間的一致性。


查看完整回答
反對 回復 2023-03-09
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

創建包是免費的,所以不用擔心創建很多包。創建包的目的是組織您的代碼并界定一些責任或上下文。

問題一:實體類的包名必須是什么?實體還是模型?

在選擇更好的名稱之前,您需要了解這兩者之間的區別:

模型對象表示 MVC(模型視圖控制器)模式中的數據。實體對象表示 ORM(對象關系映射)模式中的數據。它們可能是同一個對象。或不。

因此,您可以將實體用作模型類,即使我認為這是一種不好的做法。如果是你的情況,也許你更喜歡使用model作為包名。如果不是,entity是正確的選擇。

問題2:Searchrequest & Searchresponse 等請求響應類必須保存在哪里?在模型包中還是我必須創建其他包?

這些類與控制器包非常相關。因此,您可以創建這兩個包并將請求和響應放在那里,每一個都在他的包中:

controller.response
controller.request

問題 3:是否存在一些包結構標準?(請給我鏈接)

請參閱此答案:Are there best practices for (Java) package organization?


查看完整回答
反對 回復 2023-03-09
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

沒有特定的標準結構,它會根據您的需要而變化。

  1. 實體類應該在域包下,不要附加類名。它可以像 Book.class、School.class 等,

  2. 搜索請求和響應是請求和響應類,它應該在控制器包下。這些都是服務端點。

  3. 檢查鏈接

大多數情況下,SERVICE 包將包含所有具有業務邏輯并與 DAO 類連接的服務類,Controller 將包含所有其余端點,Model 包將包含 pojo 類。


查看完整回答
反對 回復 2023-03-09
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

  1. 數據庫表的包名應該是entity。

    這是為什么?

  2. Q2和Q3封裝結構

希望這有幫助,讓我知道:)


查看完整回答
反對 回復 2023-03-09
  • 4 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號