2017-08-25 67 views
1

我目前正在開發一個Spring項目。我畫了一張圖來說明我在說什麼。下面的圖表UML是否代表Spring遵循的正確/良好的體系結構?這是一個很好的春季建築(包括測試)

爲了解釋,RestController重定向請求。該控制器具有與真實類一起注入的接口依賴性(這裏是一個處理帶有文件的報告存儲的類)。

DatabaseFile類實現了DatabaseInterface。一方面,一些用於內容處理的方法(如getContentFromReport(string) - >調用readFile(String)然後例如只接受重要的行),另一方面純文件方法(如ReadFile using(Reader,FileUtil ...) )。

我的問題是,文件方法(readFile(),deleteFolder())不包含依賴注入,我不能嘲笑某些對象。

的圖:

diagram

回答

0

必須遵循標準MVC方法(圖將在JSON/XML的響應)。 您必須將所有業務邏輯保存在DAO層中,並在服務層中注入DAO,然後將此服務注入其餘控制器。 爲了測試目的,您可以模擬dao和服務層。

+0

謝謝,如果我明白,我的RestController返回數據,但所有進程都是在DAO(模型)中進行的? – Nicogo

+0

從技術上講,您必須通過您的其餘控制器中的服務層調用DAO層,並且此DAO層將通過服務層將響應或數據返回給您的其餘控制器。 類似這樣的: - 其他控制器---->服務----> DAO - >(執行操作) DAO(返回數據/響應)---->服務-----> RestController –

2

你應該有控制器服務層(接口和實現),以及DAO層(庫接口和實現)。

業務邏輯你必須保留內部服務層,不在DAO。 DAO不應該對您的業務邏輯有任何瞭解。它只是與數據庫通信的響應。 enter image description here