Search code examples
javaspringtomcatspring-bootundertow

When and Why do i have to go for Spring Boot?


When and Why do i have to go for Spring Boot ?

  1. Based on my reading till now, it helps me to boot-strap a spring based application pretty fast, I don't have to sit and create lot of xml configurations,deal with multiple dependencies, jars..etc. Rather, spring boot does that job for me and let me focus & write code for my functionality only.

  2. Also, when i run my application (packaged as a JAR) with Spring Boot, it can run with a embedded Tomcat server or can run it with Undertow, rather than being deployed in a regular server container

  3. Provides features like health monitoring, thread monitoring straight away with application developed using the Spring Boot platform (?)

Question # 1 Is my understanding correct ? Question # 2 Are there any other advantages or reasons,for which I should go for Spring Boot ? Question # 3 Are there any other equivalent boot-strapping libraries/frameworks for spring or other similar java technologies ? Question # 4 Is Spring Roo being replaced by Spring Boot ?

Regarding Point#2 - How stable,secure,high performing is with this approach ? Is it applicable only during testing or is that usable during typical Production scenario also ?


Solution

  • Question #1: You are correct.

    Question #2: You can use the embedded container during development but I think when deploying an enterprise application it seems more flexible to use a dedicated servlet container. Spring Boot allows building a WAR file as well.

    Question #3: Yes, provides useful default components for these features.

    Regarding Question #4: Pivotal stated in some blog post, that Spring Boot has the same goal as Spring Roo (removing boilerplate work and getting your application up and running faster), but trys to achieve this by other means. It is not a replacement per se but it kind of removes the need for something like Spring Roo.