【问题标题】:MVC - Spring Boot and Angular - What is the View in Spring?MVC - Spring Boot 和 Angular - Spring 中的视图是什么?
【发布时间】:2020-06-21 10:16:34
【问题描述】:

在 JHipster 框架的帮助下,我使用 Spring Boot for Backend 和 Angular 8 for Frontend 创建了一个 Web 应用程序。前端使用 REST API 与后端通信。

我知道 Spring 和 Angular 都使用 MVC 模型。因此,在 Spring 的情况下:

  • 数据库、JPA 类和存储库是 模型
  • REST 控制器是 控制器

我的问题是:Spring 应用程序中的 View 部分是什么?我的猜测是整个 Angular 应用程序都扮演了视图的角色。对吗?

【问题讨论】:

    标签: java angular spring-mvc model-view-controller


    【解决方案1】:

    由于 Spring MVC 概念,Spring 中的视图部分很受欢迎,其中 视图JSP(动态)HTML(静态) 组成> 页。

    正如你所说的,Spring 和 Angular 都是基于 MVC 的框架,但现在的趋势是转向微服务架构而不是单体架构。 微服务架构的操作与语言无关,并使用 REST 服务进行通信。

    目前,重点是关注点分离以及交付代码的速度。

    1. Angular 框架处理 UI 部分

    2. Spring 框架处理后端操作(业务逻辑、与数据库和其他服务器的交互。

    在spring框架中MVC的意思

    1. Model - 携带数据的类
    2. 查看 - 查看页面 (JSP/HTML)
    3. Controller - 管理操作的类

    正如你在帖子中所说的数据库、JPA 类和存储库是模型,这些只不过是与 MVC 模式集成以与数据库通信的存储库模式。

    【讨论】:

      【解决方案2】:

      要启动 Angular 不使用 MVC,Angular 使用 MVVM (model-view-view-model) 或 MVW (model-view-whatever)

      其次,您的后端使用 n 层模式

      服务层:实现业务逻辑

      数据访问对象:这些是您的服务层将调用以获取/更新所需数据的抽象。该层通常会调用数据库或其他一些系统(例如:LDAP 服务器、Web 服务或 NoSql 类型的 DB)

      控制器层:将接收客户端请求。

      换句话说,您有一个客户端-服务器架构,具有 n 层模式,其中角度(视图层)使用 MVVM 模式。

      观察: 您使用的模型可能来自也可能不来自您的服务。您可能希望获取您的服务为您提供的结果,并将它们处理成更适合您的媒体(例如:网页)的模型。

      区分数据库模型(dao - 数据访问对象)和传输模型(dto - 数据传输对象)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-17
        • 2018-09-20
        • 1970-01-01
        • 2021-06-29
        • 2015-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多