
Spring Boot
Java framework for building stand-alone Spring applications, including web APIs, with an embedded web server and automatic configuration.
Spring Boot is the usual way to start a project on the Spring framework, the long-standing Java application framework. It solves Spring's setup problem: instead of wiring the framework, a web server and libraries together by hand, you pick "starter" dependencies and Spring Boot configures them for you, with no code generation or XML.
How it works: you generate a project (Java or Kotlin, Maven or Gradle) at start.spring.io, and the app runs as a stand-alone program with Tomcat or Jetty embedded, so there is no separate server to install or WAR file to deploy. Auto-configuration looks at what is on the classpath and sets up beans accordingly; you override defaults through properties files or your own beans. Spring Boot 4 needs Java 17 or later.
What you get: database access through Spring Data JPA with Hibernate, Spring Data JDBC, JdbcClient, jOOQ or reactive R2DBC, with HikariCP connection pooling by default; Flyway or Liquibase migrations that run on startup; Spring Security, which locks down every endpoint as soon as it is added and supports OAuth2 and SAML; and Actuator endpoints for health checks, metrics and logger settings. Apps can also be compiled to GraalVM native executables.
The limits: Spring's annotations, dependency injection and auto-configuration are a lot to learn, and when something is configured for you it is not always obvious from where. On the JVM, Spring's own docs say native images start much faster and use less memory; getting those benefits means ahead-of-time compilation, a fixed classpath and restrictions on runtime-dependent features such as @Profile. There is no built-in admin panel or frontend framework.
Where it fits
Who uses it
1 makers' products, each linked to the source that shows it.
Alternatives to Spring Boot
All alternatives by situation →Questions makers ask about Spring Boot
Which Java version do I need?
Spring Boot 4.1 needs at least Java 17 and is tested up to Java 26. It builds with Maven 3.6.3+ or Gradle 8.14+ and 9.x. source ↗
Can I write it in Kotlin instead of Java?
Yes. Spring Boot supports Kotlin (2.2 or later), and start.spring.io can generate a Kotlin project with the recommended plugins and the Jackson Kotlin module already set up. source ↗
How do I talk to a SQL database?
Add spring-boot-starter-data-jpa for JPA with Hibernate and Spring Data repositories that generate queries from method names. Spring Data JDBC, JdbcClient, jOOQ and reactive R2DBC are also supported, and HikariCP is the default connection pool. source ↗
Does it handle database migrations?
Yes, through Flyway or Liquibase. Add the starter and Spring Boot runs pending migrations automatically on startup; Flyway reads SQL files from db/migration by default. source ↗
What happens when I add Spring Security?
Every web endpoint is secured by default, with one in-memory user named user and a random password printed at startup for development. OAuth2 and SAML 2.0 are supported for real logins. source ↗
Can it start fast enough for serverless or small containers?
Spring Boot can build GraalVM native images, which Spring's docs say start much faster and use less memory than the JVM. The trade-off is ahead-of-time compilation with a fixed classpath and limits on dynamic features like @Profile. source ↗
Is Spring Boot free?
Yes — it is free, open-source software.
Is Spring Boot open source or self-hostable?
Open source, and you can self-host it. source ↗
Can AI coding agents work with Spring Boot?
No llms.txt, official MCP server or CLI found yet.
Who uses Spring Boot?
1 makers' products we track, each with a source. source ↗