弹簧靴仅用于构建Rest API吗?

时间:2020-04-16 06:32:00

标签: spring hibernate spring-boot rest spring-data-jpa

如果不是,那么我们用Spring Boot还有什么可以做的呢?

我知道我们可以在资源/模板和资源/静态文件夹中的一个spring boot应用程序中构建整个Web应用程序(前端和后端),但是在现实世界中有人使用此方法来创建具有资源的Web应用程序/ template和resource / static?

还有一个问题,在Spring数据jpa中的现实世界的hibernate(使用SessionFactory或EntityManager)或JpaRepository中使用了什么?

2 个答案:

答案 0 :(得分:2)

没有Spring Boot不仅适用于REST API。

Spring Boot只是一种用于自动配置基于Spring Framework的应用程序的机制。 因此,您可以使用它,并且它确实可以用于各种东西。

  • 用于Web服务的REST API
  • 使用Spring MVC的完整Web应用程序
  • SOAP服务(或者称为SOAP分配器?)
  • 反应式Web应用程序
  • 命令行工具
  • 批处理作业
  • Swing / JavaFX应用程序 ...

当然,编写Web应用程序的人要多于有或没有Spring的Swing应用程序。

您所描述的Web应用程序的类型,我放在“使用Spring MVC的完整Web应用程序”下,是一个非常完善的模型,正确完成后,与一般的REST服务相比,可以更好地与REST的原理保持一致。我个人的猜测是:当没人记得Angular是什么时,它们仍然会存在。

对于您的其他问题: 您的问题听起来有点像JPA和Spring Data JPA之间的关系可能并不完全清楚。 (请参阅Spring Data JDBC / Spring Data JPA vs Hibernate

两者在现实世界的项目中肯定会使用。根据定义,使用JPA的项目比使用Spring Data JPA的项目更多,因为第一个是后者的超集。

答案 1 :(得分:1)

这涉及完整的Spring历史记录,

Spring的实际动机是实现松散耦合,因此可以轻松执行单元测试。 Spring MVC用于使用具有适当边界的Model View Controller开发Web应用程序。 然后是Spring Boot,它使开发人员可以专注于业务逻辑和配置。这就是为什么Spring Boot是微服务的理想选择的原因。

对于JPA或休眠查询,许多人更喜欢使用JPARepositoy,因为您只需为存储库定义实体,Spring Boot会自动为您提供诸如findById之类的查询。

简而言之,Spring启动使在具有不同配置和环境的应用程序中流畅运行变得非常容易。

相关问题