What are the disadvantages of Spring Boot for Java web applications?

17,200

This is a very opinion based question but I believe that the biggest disadvantage that you might encounter is using it or Spring at all without understanding what value it gave to you or your project. It might be completely not aligned with your requirements and it is possible that you will configure everything by yourself at some point.

Let me comment bullet points that you liked in the question.

  • Create stand-alone Spring applications => You can create standalone java application? Why Spring at the first place?
  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) => What if you have to build war anyway? Little config will do the trick but it's not any major advantage.
  • Provide opinionated 'starter' POMs to simplify your Maven configuration => What if you have many legacy spring modules? What if you need to patch it up?
  • Automatically configure Spring whenever possible => What if this configuration is completely not aligned with your requirements?
  • Provide production-ready features such as metrics, health checks, and externalized configuration => Is it sufficient for you? Is it completely wrong, as you need something more sophisticated? Useless, as you don't need this at all?
Share:
17,200

Related videos on Youtube

UserF40
Author by

UserF40

Updated on June 04, 2022

Comments

  • UserF40
    UserF40 almost 2 years

    [This needs to be voted to be reopened to answer.]

    Spring boot is tipped as being the default go to when making a new spring application as it makes set up easier and automatically wires in common dependencies.

    I am yet in industry to see spring-boot used in the manner advertised.

    Factually and concisely, what are the disadvantages that are faced by developers on adoption of Spring boot as the de facto Spring go to?

    The advantages of Spring Boot question shows advantages of which I agree there are many, but believe there should be a rounder view.

    An example non opinion based point would be:

    • Spring boot may unnecessarily increase the deployment binary size with unused dependencies.

    • Not being able to customize logging easily as shown here.

    • Hrabosch
      Hrabosch over 7 years
      This is not question which should be here, because this is about discussion. But in my opinion there is one big advantage and disadvantege together. With Spring Boot you don't have to configure a lot of things. So it is easier but on the other hand you are loosing control. But for microservice architecture it is really cool ;)
    • UserF40
      UserF40 over 7 years
      I tried to phrase this to not encourage discussion as the advantages question I linked does. The answers there are considered positives and here I want to see concise disadvantages not opinions.
  • skay
    skay over 7 years
    THank you for the question and many thanks Grzegorz for a clear answer. I think that with a JEE approach you CAN definitely keep control on your app dependencies / and I think you can't with Spring. Keeping control on your dependencies means that you keep control on your application.
  • HopeKing
    HopeKing about 7 years
    Would just like to add that I read this post 2 months back and decided to go with SpringBoot anyway. Having worked on it for 2 months, we really find it amazing and does a lot of things which our small team could otherwise have been burdened with. Basically, your answer is probably correct from an experienced developer point of view who is trying to envisage all possible combinations. But for small teams, new developers or requirement of very quick build applications I think SpringBoot is an amazing alternative. Will share more as time progress. Hope this is useful for someone.