JAX-RS与Spring Boot对比


Spring是用于开发企业级应用程序的流行框架。经过多年的发展,SpringBoot登上了舞台。Spring是使用@RestController编写RESTful Web服务。
编写RESTful Web服务的方法有很多,Jersey是JAX-RS的开源框架实现,它是RESTful Web服务的Java API。JAX-RS是Java EE技术的一部分。
 
Spring:

  • 这是非标准的API实现。
  • 在接下来的几年中,经常尝试进行实验(某些功能可能已弃用或某些功能可能已添加)。
  • 由于未使用标准API实现,因此向后兼容性的责任性大大降低。
  • 这是一个全栈实现,而不仅仅是其余实现。
  • 它带有其他Spring服务,例如ORM,Spring Security Module等。

JAX-RS:
  • 它遵循标准API实施。
  • 专为REST实现而设计。
  • 作为标准的API实现,它是向后兼容的(例如:当发布新的JDK版本时)。
  • JAX-RS是Java EE的一部分,可以与其他Java EE技术一起使用以开发RESTful服务。

在Spring使用Jersey
Spring Boot 提供一个Jersey模块让使用JAX-RS,在pom.xml文件中添加所有必需的依赖项,根据项目要求,我们添加依赖项,并且由于我们没有完全使用spring服务,因此必须为其编写样板代码,这需要在部署之前进行正确的实现和测试编码。一个小优点是WAR或JAR的大小,在项目结束时会有点小,因为排除了不需要始终依赖于额外依赖的spring Web模块