Spring Boot is a fast way of creating applications. Looks at your classpath and the beans you've configured, makes reasonable assumptions about what you're missing, and adds those items. Spring Boot enables us to focus more on business features and less on infrastructure.
Spring Boot is today one of the most popular frameworks for microservices development. Spring Boot makes quick application development easy. It has important features like start project, auto-configuration, and actuator; developing microservices is a cakewalk.
Spring Boot transforms how you perform the Java programming activities, streamlining your experience dramatically. Spring Boot blends necessities including an application background and an auto-configured, embedded web server to make the creation of microservices a lot easier.
To be even faster, you can combine Spring Boot with the extensive collection of libraries, servers, patterns, and templates provided by Spring Cloud to securely deploy all microservice-based architectures into the cloud, in fairly short order.
Spring Boot provides the entry point for all Spring-based applications. Spring Boot is planned to get you up and running as fast as possible, with minimal Spring initialization setup.
- Get started in seconds using Spring Initializr
- Build anything: REST API, WebSocket, web, streaming, tasks, and more
- Simplified security
- Rich support for SQL and NoSQL
- Embedded runtime support: Tomcat, Jetty, and Undertow
- Developer productivity tools such as LiveReload and Auto Restart
- Curated dependencies that just work
- Production-ready features such as tracing, metrics, and health status
- Works in your favorite IDE: Spring Tool Suite, IntelliJ IDEA, and NetBeans
Spring Boot Project Structure
The project structure illustrated in figure 1 shows a typical layout recommended by spring boot team.
POM is an acronym for Project Object Model. The pom.xml file includes project and configuration information for the maven to construct the project, such as dependencies, build directory, source directory, test source directory, plugin, goals etc.
In a spring boot project, most of the modules can be enabled or disabled just by adding a set of starters. All Spring Boot projects typically use
spring-boot-starter-parent as the parent in pom.xml.