Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Spring Basics Spring Components and Configuring Our App Configuring Gradle for Spring Development

Weiming Chen
seal-mask
.a{fill-rule:evenodd;}techdegree
Weiming Chen
Full Stack JavaScript Techdegree Student 8,065 Points

Why do we use Spring Boot instead of Spring?

Why do we use Spring Boot instead of Spring? Are there any particular advantages of Boot? Will Boot be capable handling enterprise level web app?

Spring MVC vs Spring Boot vs Boot starter? Getting confusing. Can you elaborate more? Thank you! Chris Ramacciotti Craig Dennis

2 Answers

Chris Ramacciotti
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Chris Ramacciotti
Treehouse Guest Teacher

This is a great question! Spring Boot allows you to quickly build and create Spring applications using the Spring Framework. You can choose to ditch Spring Boot, but this will require more configuration on your part. There are a bunch of features specific to Spring Boot, but two of my favorite are auto-configuration, and the ability to quickly create standalone web apps. Let me elaborate.

Using auto-configuration, you can do things like include H2 on the build path, and without any further configuration on your part, Spring Boot will auto-configure the connection details for an in-memory database. Or, you can include spring-boot-starter-thymeleaf on your build path and Spring Boot will auto-configure Thymeleaf as the template engine of choice. If you ditch Spring Boot, you would need to add Thymeleaf configuration yourself. See here for an example of how this might look.

To answer one of your specific questions, creating standalone web applications with embedded servers is not only convenient for development, but also a legitimate solution for enterprise-level applications. This is increasingly useful in the microservices world (as stated in the link posted by Alexander Nikiforov). Being able to wrap an entire service (for example, user authentication) in a standalone and fully-deployable artifact that exposes an API makes distribution and deployment much quicker and easier to manage.