Chapter 1. Spring Boot in a Nutshell
This chapter explores the three core features of Spring Boot and how they are force multipliers for you as a developer.
Spring Boot’s Three Foundational Features
The three core features of Spring Boot upon which everything else builds are simplified dependency management, simplified deployment, and autoconfiguration.
Starters for Simplified Dependency Management
One of the genius aspects of Spring Boot is that it makes dependency management…manageable.
If you’ve been developing software of any import for any length of time, you’ve almost certainly had to contend with several headaches surrounding dependency management. Any capability you provide in your application typically requires a number of “frontline” dependencies. For example, if you want to provide a RESTful web API, you must provide a way to expose endpoints over HTTP, listen for requests, tie those endpoints to methods/functions that will process those requests, and then build and return appropriate responses.
Almost invariably, each primary dependency incorporates numerous other secondary dependencies in order to fulfill its promised functionality. Continuing with our example of providing a RESTful API, we might expect to see a collection of dependencies (in some sensible but debatable structure) that includes code to supply responses in a particular format, e.g., JSON, XML, HTML; code to marshal/unmarshal objects to requested format(s); code to listen for and process requests ...