Spring Boot vs. JAX-RS (Restlet) for dead simple microservice

They're completely different beasts and both of them can be useful to you in their own way.

I'll explain:

  • Spring Boot perfectly supports Rest services.
  • Spring Boot shines because you can create a rest service literally in 5-6 lines of code.

Spring Boot will:

  • handle web container (it has Tomcat/Jetty embedded, although you might opt for wars to be deployed externally as well)

  • Handle all the dependencies (version compliance and so force). It also means JSON manipulation framework and not just the way of declaring REST endpoints. Spring Boot uses Jackson by default.

  • Handle all the hassle of packaging everything. If you work with WAR it can be less interesting (of course, in this case you'll have to think about the web-container and Spring Boot does it for you). But you work with Jars - spring boot will create one big jar that just can be loaded with java -jar <youjar>.

  • Optionally providing a metrics and JMX stuff for your application - just declare a Maven/Gradle dependency on actuator and you're ready to go.

All this makes Spring Boot perfect for developing self-contained microservices which might be your case.

On the opposite, if you're looking for framework to provide rest on your existing solution, than probably you won't use Spring Boot. Maybe you're not using Spring at all, who knows?

So I would say, that Jersey/Restlet and so forth are just Web frameworks for easier development of REST services in Java. And Spring Boot is more about managing your application, of course it provides also a way of working with REST services just like it provides a way of working with JDBC, Servlet API and so forth.