SpringBoot是否仅用于构建RESTAPI?

SpringBoot是否仅用于构建RESTAPI?,spring,hibernate,spring-boot,rest,spring-data-jpa,Spring,Hibernate,Spring Boot,Rest,Spring Data Jpa,如果没有,我们还可以用spring boot做什么 我知道我们可以在resource/template和resource/static文件夹中的一个spring boot应用程序中构建一个完整的web应用程序(前端和后端),但在现实世界中,有人使用此方法创建具有resource/template和resource/static的web应用程序吗 还有一个问题是,在真实世界的hibernate(使用SessionFactory或EntityManager)或spring数据jpa中的JpaRepo

如果没有,我们还可以用spring boot做什么

我知道我们可以在resource/template和resource/static文件夹中的一个spring boot应用程序中构建一个完整的web应用程序(前端和后端),但在现实世界中,有人使用此方法创建具有resource/template和resource/static的web应用程序吗


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

没有spring引导不仅仅适用于REST API

Spring引导“只是”一种自动配置基于Spring框架的应用程序的机制。 因此,你可以使用它,它确实被用于各种各样的东西

  • Web服务的RESTAPI
  • 使用SpringMVC的完整web应用程序
  • SOAP服务(或者称为SOAP分发器?)
  • 反应式web应用程序
  • 命令行工具
  • 批处理作业
  • Swing/JavaFX应用程序
当然,编写web应用程序的人要比编写带或不带Spring的Swing应用程序的人多得多

您描述的那种web应用程序,我把它放在“使用SpringMVC的完整web应用程序”下,它是一个非常成熟的模型,如果做得正确,它比一般所谓的REST服务更符合REST原则。我个人的猜测是:当没有人记得角是什么的时候,它们仍然存在

关于你的补充问题: 您的问题听起来有点像JPA和Spring数据JPA之间的关系可能并不完全清楚。 (见附件)


这两种方法都在现实项目中使用。根据定义,更多的项目使用JPA而不是Spring数据JPA,因为第一个是后者的超集。

这涉及到完整的Spring历史

弹簧的实际动机是启用松耦合,以便可以轻松执行单元测试。SpringMVC用于开发具有适当边界的模型-视图-控制器的web应用程序。 然后是SpringBoot,它使开发人员能够专注于业务逻辑,然后是配置。这就是为什么spring boot是微服务的好选择

对于JPA或hibernate查询,许多人更喜欢使用JPARepositoy,因为您只需为存储库定义实体,Spring boot会自动为您提供findById等查询


简言之,Spring boot使使用不同配置和环境运行应用程序变得非常容易。

不,这不仅仅是web,请看这里,感谢您回答我的问题,但您没有真正回答第二个问题,即“但在现实世界中,是否有人使用此方法创建具有资源/模板和资源/静态的web应用程序?”或者在现实世界中,我们只是构建一个rest api,然后使用javascript通过fetch()访问api?我想我确实回答了这个问题:“您可以使用,它确实用于[…]使用Sprig MVC的完整web应用程序”。是的,它确实以这种方式使用。如果您对如何构建这样一个应用程序感兴趣,您可能想看看