2014-09-02 79 views
2

我正在开发一个使用spring mvc的网站,我必须指定我的应用程序的概念。架构多层vs mvc

我有这些成分在里面:

  1. 控制器
  2. 领域对象模型
  3. 服务
  4. DTO
  5. 查看

的是具有这些组件的“多层”或“mvc”的应用程序体系结构,如果它是mvc应用程序,我想知道该模型是否仅包含域对象,或者除此之外还包含服务,存储库和DTO。

回答

1

Spring MVC是一个服务器生成的html n层应用程序的表示层。 N可以是一个。

它包含View层,通常是JSP或某些模板系统。

它还包括控制器,它们是处理HTTP请求并帮助生成HTTP响应的类。控制器的作用是加载正确的模型并选择正确的视图。

模型是POJO的地图。他们不需要是JPA实体对象,但通常是。模型可以包含相同类型的POJO列表,或者包含不同类型的多个POJO。一个模型很简单,是一个视图需要完成的所有数据的集合。

例如,您可以有一个非常基本的POJO,它根据利率和本金计算贷款的第一笔支付金额。您需要来自用户的利率和本金,并将其输入到HTML表单中。他们按提交并显示第一笔付款金额。

在这种情况下,您将拥有一个处理初始GET请求,创建POJO的新实例,将其添加到模型映射并返回视图名称的控制器。

它也有一个方法来接受POST请求,加载模型,进行计算,并返回POJO,并可能是一个新的视图。如你所见,你不需要在MVC应用程序中访问数据库。

您可以在您的模型中包含JPA实体,或者将它们与非JPA POJO一起使用。