提问者:小点点

Java Spring Boot Hibernate, JPA, MVC, REST 混乱


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

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

在这一点上我迷失了。这些就是我刚才提到的,我们到底用它们做什么?为什么我们在第一节课中不用简单的方法?我们在第二步中做了什么,我不必创建一个工厂和一个会话来执行简单的查询?

有没有关于这件事的帖子、视频或任何东西让我理解?


共3个答案

匿名用户

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

匿名用户

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

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文件)服务器(可以有嵌入式服务器)。

匿名用户

Java EE、Spring和Springboot并不相同。

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