What is Java Spring Boot?
Explore IBM's Java Spring Boot solution Subscribe for cloud updates
Illustration with collage of pictograms of computer monitor, server, clouds, dots
What is Java Spring Boot?

Java Spring Framework (Spring Framework) is a popular, open source, enterprise-level framework for creating stand-alone, production-grade applications that run on the Java virtual machine (JVM).

Java Spring Boot (Spring Boot) is a tool that makes developing web applications and microservices with Spring Framework faster and easier through three core capabilities:

  1. Autoconfiguration

  2. An opinionated approach to configuration

  3. The ability to create stand-alone applications

These features work together to provide you with a tool for setting up a Spring-based application with minimal configuration and setup. Spring Boot applications can also be optimized and run with the Open Liberty runtime.

Strategic app modernization drives digital transformation

Strategic application modernization is one key to transformational success that can boost annual revenue and lower maintenance and running costs.

Related content

Register for the guide on hybrid cloud

Spring Boot tutorials with Open Liberty
Why is Spring Framework so popular?

Spring Framework offers a dependency injection feature that allows objects to define their own dependencies that the Spring container later injects into them. This feature enables developers to create modular applications consisting of loosely coupled components that are ideal for microservices and distributed network applications.

Spring Framework also offers built-in support for typical tasks that an application needs to perform, such as data binding, type conversion, validation, exception handling, resource and event management, internationalization and more. It integrates with various Java EE technologies such as RMI (Remote Method Invocation), AMQP (Advanced Message Queuing Protocol), Java Web Services and others.

More recently Spring Framework has adopted the Jakarta namespace to use many of the new and updated Jakarta EE specifications. In sum, Spring Framework provides developers with all the tools and features they need to create loosely coupled, cross-platform Java EE applications that run in any environment.

What Spring Boot adds to Spring Framework

As capable and comprehensive as Spring Framework is, it still requires significant time and knowledge to configure, set up and deploy Spring applications. Spring Boot mitigates this effort with three important capabilities.

Autoconfiguration


Autoconfiguration initializes applications with pre-set dependencies so that you don't have to configure manually. Java Spring Boot comes with built-in autoconfiguration capabilities, which automatically configure both the underlying Spring Framework and third-party packages based on your settings. This approach, based on best practices, helps avoid errors.

Even though you can override these defaults after the initialization is complete, the initial setup accelerates development. Java Spring Boot's autoconfiguration feature enables you to start developing your Spring-based applications fast and reduces the possibility of human errors.

Opinionated approach


Spring Boot uses an opinionated approach to adding and configuring starter dependencies, based on the needs of your project. Using its own judgment, Spring Boot chooses which packages to install and which default values to use, rather than requiring you to make all those decisions yourself and set up everything manually.

You can define the needs of your project during the initialization process, during which you choose among multiple starter dependencies—called Spring Starters—that cover typical use cases. You run Spring Boot Initializr by filling out a simple web form, without any coding.

For example, the ‘Spring Web’ starter dependency simplifies building Spring-based web applications. It requires minimal configuration by adding all the necessary dependencies—such as the Apache Tomcat web server—to your project. ‘Spring Security’ is another popular starter dependency that automatically adds authentication and access-control features to your application.

Spring Boot includes over 50 Spring Starters and many more third-party starters are available.

Stand-alone applications


Spring Boot helps developers create applications that just run. Specifically, you can create stand-alone applications that run on their own, without relying on an external web server.

You can create stand-alone applications by embedding a web server such as Tomcat or Netty into your app during the initialization process. As a result, you can start your application on any platform by pressing the Run command. (You can opt out of this feature to build applications without an embedded web server.)

Spring Boot versus Spring Framework

Again, the biggest advantages of using Spring Boot versus Spring Framework alone are ease of use and faster development. In theory, this advantage comes at the expense of the greater flexibility you get from working directly with Spring Framework.

But, in practice, unless you need or want to implement a unique configuration, using Spring Booth is worth the tradeoff. You are still able to use Spring Framework’s popular annotation system to easily inject extra dependencies (not covered by Spring Starters) into your application.

And, you still get access to all Spring Framework features, including easy event handling, validation, data binding, type conversion and built-in security and testing capabilities. Bottom line, if even just one Spring Starter covers your project’s scope, Spring Boot can significantly streamline development.

Spring Boot tutorials with Open Liberty

If you’re looking for fast, easy, entry-level Spring Boot instruction, IBM has you covered. Check out the latest Open Liberty guides to help you build and deploy a Spring Boot application.

  • Did you know you can containerize your Spring Boot applications to start in milliseconds, without compromising on throughput, memory, development-production parity or Java language features? And with little or no refactoring of the application code? Here’s how with Liberty 23.0.0.10-beta. Learn how to containerize your Spring Boot application for rapid startup (link resides outside of ibm.com). 
Related solutions
IBM WebSphere® Liberty

Drive innovation and productivity with Liberty, the cloud-native runtime that extends open Java standards

IBM WebSphere Liberty
IBM Cloud Pak® for Applications

Deliver an application landscape that transforms with your business.

Explore IBM Cloud Pak for Applications
IBM Cloud

Explore how IBM Cloud® with Red Hat® offers market-leading security, enterprise scalability and open innovation to unlock the full potential of cloud and AI.

Explore IBM Cloud
Resources IBM Application Modernization Field Guide

This guide outlines how to accelerate your app modernization, improve developer productivity and improve operational efficiency and standardization.

Tutorial: Spring Boot basics

Explore this tutorial to learn how to use Spring Boot's starters, opinions and executable JAR file structure to quickly create Spring-based applications that "just run."

What is Java?

Learn why Java remains such a popular development platform and how it accelerates projects and supports a wide range of emerging technologies.

Take the next step

IBM Cloud Pak for Applications provides the ultimate flexibility for your application landscape. Use your subscription to choose from multiple runtime deployment options: IBM WebSphere®, IBM WebSphere Liberty, Red Hat® JBoss®Enterprise Application Platform, Quarkus, Tomcat, Node.js Spring Boot, Vert.x and more.

Explore Cloud Pak for Applications