Spring Boot vs. JAX-RS(Restlet)用于简单的微服务

Mah*_*oni 7 java rest spring jax-rs spring-mvc

我想构建一个非常小的自包含微服务,为一些存储数据的REST操作提供存储(不需要持久性).

因此,我正在寻找最轻量级方法的框架.在研究了可用的JAX-RS实现后,Restlet似乎是一个不错的选择.

还建议使用Spring Boot,并注释您不需要JAX-RS.我有点困惑.JAX-RS不是Java REST应用程序的标准吗?我不需要将Spring Boot与JAX-RS结合起来吗?

Mar*_*nik 9

它们是完全不同的野兽,它们都可以以自己的方式对你有用.

我会解释一下:

Spring启动完美支持Rest服务.Spring引导闪耀,因为你可以在5-6行代码中创建一个休息服务.

春季启动会:

  • 处理web容器(它嵌入了tomcat/jetty,尽管你也可以选择在外部部署战争)

  • 处理所有依赖项(版本合规性和强制).它还意味着JSON操作框架,而不仅仅是声明REST端点的方式.Spring启动时默认使用Jackson.

  • 处理所有包装所有麻烦.如果你使用WAR它可能不那么有趣(当然,在这种情况下,你将不得不考虑web容器和spring boot为你做的).但是你使用Jars - spring boot会创建一个可以加载的大jar java -jar <youjar>.

  • 可选地为您的应用程序提供度量和JMX内容 - 只需声明执行器上的maven/gradle依赖关系,您就可以开始使用了.

所有这些使得弹簧靴非常适合开发可能属于您的自包含微服务.

相反如果您正在寻找框架来为您现有的解决方案提供休息,那么您可能不会使用spring boot.也许你根本不使用弹簧,谁知道呢?

所以我想说,Jersey/Restlet等只是用于在Java中更轻松地开发REST服务的Web框架.Spring boot更多的是关于管理你的应用程序,当然它也提供了一种使用REST服务的方式,就像它提供了一种使用JDBC,Servlet API等的方式.

希望这可以帮助