【问题标题】:Java Spring Boot Hibernate, JPA, MVC, REST confusionJava Spring Boot Hibernate、JPA、MVC、REST混淆
【发布时间】:2021-12-13 17:34:47
【问题描述】:

我现在学习 Java SE 和 Spring Boot 半年了,看了不同的课程,他们教的方式也不同,我只是不知道哪个是做什么的?

在一门课程中,我们将 Eclipse、Spring MVC 和 Hibernate 与 MySQL 一起使用,并编写了 Servlet、Hibernate 配置文件、工厂、会话等所有内容,例如,如何进行查询有点复杂。在另一门课程中,我们使用 Spring Initializr、Maven、REST API 和 PostgreSQL,这要容易得多,我们实现了 CRUD 存储库,只需一行,我们就可以进行查询。

我现在迷路了。这些我刚才提到的,我们到底用它们做什么?为什么我们在第一门课程中不用简单的方法?我们第二次做了什么,我不必创建工厂和会话来做一个简单的查询?

是否有任何帖子、视频或任何关于此的内容,让我理解?

【问题讨论】:

    标签: java spring spring-boot hibernate


    【解决方案1】:

    解决同一个问题总是有不同的方法。 Spring Boot 为您提供了许多功能来简化您的开发。但是您不必使用它们。你总是可以尝试自己实现东西。但大多数时候,像 CRUD 存储库这样的内置功能足以解决您的问题。 我不能告诉你确切的原因,为什么第一门课程的作者会这样做。也许他或她想展示隐藏在特征之下的原则。也许这只是一门较旧的课程,或者它是针对 Spring 而不是 Spring Boot。 Spring Boot 简化了 Spring 的设置并取得了许多进步。

    【讨论】:

    • 感谢您的快速回答!所以你说对于所有的工厂,课程的东西,我们基本上对其他课程也做同样的事情,只是用一种更简单的方法?我有 Spring、Spring Boot、Spring MVC。这些有什么不同?抱歉,不能再问了:D
    【解决方案2】:

    Spring Framework 已经存在很长时间了,您所看到的方式都是有效的方式,据我所知,您的陈述是,一种方法是使用 Spring MVC,第二种是使用 Spring Boot弹簧靴使事情变得非常容易。 你需要了解spring MVC框架和spring-boot的区别。 在 Spring MVC 框架中,我们使用配置文件管理事物,例如 XML 文件,我们还通过首先打开会话来触发查询,然后只有我们可以查询。但是在 Spring-boot 中,这些事情发生在幕后,这就是为什么使用 spring-boot 变得如此容易,但无论如何我们仍然需要了解所有这些东西才能在这个框架中正常工作。

    Spring MVC 是一个完整的面向 HTTP 的 MVC 框架,由 Spring Framework 管理并基于 Servlet。它相当于 JavaEE 堆栈中的 JSF。其中最流行的元素是使用 @Controller 注释的类,您可以在其中实现可以使用不同 HTTP 请求访问的方法。它有一个等效的 @RestController 来实现基于 REST 的 API。

    Spring boot 是一个用于快速设置应用程序的实用程序,它提供了开箱即用的配置来构建 Spring 驱动的应用程序。您可能知道,Spring 在它的保护伞下集成了大量不同的模块,如 spring-core、spring-data、spring-web(顺便说一下,其中包括 Spring MVC)等等。使用此工具,您可以告诉 Spring 要使用多少个,并且您可以快速设置它们(您可以稍后自行更改)。

    Spring boot 只是一个自动配置工具。 Spring MVC 是一个 web 框架

    Spring boot = Spring MVC + 自动配置(配置不用写xml文件)+ 服务器(你可以有嵌入式服务器)。

    【讨论】:

      【解决方案3】:

      Java EE、Spring 和 Springboot 不一样。

      Spring 基于 Java EE。 Spring Boot 是 Spring 的“扩展”,尤其是自动配置。

      【讨论】:

      • 那么 Spring MVC、Hibernate 和 Maven(或者其他,我不知道它的名字)呢。这些是干什么用的?
      • Spring MVC 被 Springboot 使用。 Maven 是一个工具,用于管理和自动化 Java 软件项目的生产,特别是 Java EE。 Maven 附带一个 pom.xml 文件,您可以在其中填写项目的依赖项以及项目的构建和打包方式。 Hibernate 是一个对象/关系映射框架
      【解决方案4】:

      有多种框架或库各有优缺点,但您需要选择适合您特定应用程序要求的 TechStack。

      所以如果你需要构建一个 web 应用程序你可以使用 Java Servlet,但是你必须自己处理多个问题并且它涉及到很多配置,但是有很多框架,比如 Spring,Struts 等,这很容易

      类似的方式你可以手动管理依赖,或者你可以使用 Maven 或 gradle 来处理依赖和构建过程

      类似的方式,如果你需要连接到数据库,你可以直接使用 JDBC,但有多个 ORM(对象关系映射器)可用,这将使任务更容易,如 Hibernate、Jooq 等

      关于您的问题,有 Spring 框架和 SpringBoot ,Springboot 的主要座右铭是它更喜欢“约定优于配置”,这意味着您只需要编写很少的代码即可开始使用,并且它附带了许多基本的启动包几乎是预配置的,因此您可以轻松构建应用程序

      不同的框架和库都有自己的学习曲线,但它们减少了配置和故障排除所需的时间

      【讨论】:

        【解决方案5】:

        阅读有关 Spring MVC 和 Spring-boot 框架的信息。你提到的首先是spring mvc,另一个是spring boot框架。让您了解诸如 spring boot 解决了什么问题之类的问题?在 spring mvc 中曾经或现在存在。

        【讨论】:

          【解决方案6】:

          JPA:Java Persistence API (JPA) 是一种可能的 ORM 方法。通过 JPA,开发人员可以将关系数据库中的数据映射、存储、更新和检索到 Java 对象,反之亦然。

          Hibernate: Hibernate 是用于 Java 的开源对象关系映射 (ORM) 工具。它提供了一个将面向对象的领域模型映射到传统关系数据库的框架。

          MVC:模型-视图-控制器 (MVC) 是一种架构模式,将应用程序分为三个主要逻辑组件:模型、视图和控制器。

          JAVA:作为最广泛使用的编程语言之一,Java 被用作大多数后端开发项目的服务器端语言,包括那些涉及大数据和 Android 开发的项目。

          Springboot: Spring Boot 是一个开源的微框架。 Spring Boot 帮助开发人员创建刚刚运行的应用程序。 Springboot 是一个 JAVA 框架。

          REST:具象状态转移 (REST) 是一种软件架构风格,它定义了一组用于创建 Web 服务的约束。

          【讨论】:

            猜你喜欢
            • 2015-02-16
            • 2018-12-10
            • 1970-01-01
            • 1970-01-01
            • 2015-11-17
            • 2021-09-07
            • 2021-07-26
            • 2021-08-28
            • 2017-10-25
            相关资源
            最近更新 更多