spring - spring boot 仅用于构建 rest api 吗?
问题描述
如果不是,我们可以用弹簧靴做更多的事情吗?
我知道我们可以在资源/模板和资源/静态文件夹中的一个 Spring Boot 应用程序中构建整个 Web 应用程序(前端和后端),但在现实世界中,是否有人使用这种方法来创建具有资源/模板的 Web 应用程序和资源/静态?
还有一个问题是在现实世界中使用什么hibernate(使用SessionFactory或EntityManager)或spring data jpa中的JpaRepository?
解决方案
没有 Spring Boot 不仅适用于 REST API。
Spring Boot“只是”一种用于自动配置基于 Spring Framework 的应用程序的机制。因此,您可以使用它并且它确实被用于各种东西。
- 用于 Web 服务的 REST API
- 使用 Spring MVC 的完整 Web 应用程序
- SOAP 服务(或者它们被称为 SOAP 分配器?)
- 反应式网络应用
- 命令行工具
- 批处理作业
- Swing / JavaFX 应用程序...
当然,与使用或不使用 Spring 的 Swing 应用程序相比,编写 Web 应用程序的人要多得多。
您描述的那种 Web 应用程序以及我放在“使用 Spring MVC 的完整 Web 应用程序”下的那种 Web 应用程序是一个非常完善的模型,如果做得正确,它比平均所谓的 REST 服务更符合 REST 的原则。我个人的猜测是:当没有人记得 Angular 是什么时,它们仍然会存在。
对于您的附加问题:您的问题听起来有点像 JPA 和 Spring Data JPA 之间的关系可能并不完全清楚。(请参阅Spring Data JDBC / Spring Data JPA 与 Hibernate)
两者当然都用于现实世界的项目。根据定义,使用 JPA 的项目多于 Spring Data JPA,因为前者是后者的超集。
推荐阅读
- html - 两个三角形组成一个矩形
- ios - 如何缩短选择和移动组件的触摸时间?(使用 UICollectionViewDragDelegate)
- javascript - 正则表达式 - 仅完整的单词而不是特定字符之后
- elasticsearch - 在elasticsearch中定义icu变换的规则
- r - R将数据帧从长格式改造成宽格式?
- django - 如何使用 Django 在 Fullcalendar 中编辑和创建事件
- r - 使用 mutate 和 ifelse 进行条件赋值
- javascript - 用javascript单独分割字符串
- docker - neo4j docker 镜像似乎进入休眠状态
- function - 当函数插入字符串时,R Markdown 生成的 pdf 中的德语变音符号出错