Overview of Spring Boot core philosophy and goals
Spring Boot is designed to create independent, production-ready Spring-based applications that can be run directly. It uses an 'opinionated' approach to configuration for the Spring platform and third-party libraries to minimize manual setup. Key goals include:
- Accelerating the Spring development start-up experience.
- Providing out-of-the-box configuration while allowing developers to override defaults as needs evolve.
- Providing common non-functional features such as embedded servers, security, metrics, health checks, and external configuration.
- Avoiding code generation (except for native images) and eliminating the need for XML configuration.