2017-08-25 65 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