Part I. Spring Initializr Documentation

This section provides a brief overview of the Spring Initializr reference documentation: think of it as map for the rest of the document. Some sections are targeted to a specific audience so this reference guide is not meant to be read in a linear fashion.

Spring Initializr provides a simple web UI to configure the project to generate and endpoints that you can use via plain HTTP: you can see our default instance at start.spring.io. The service allows you to customize the project to generate: the build system and its coordinates, the language and version, the packaging and finally the dependencies to add to the project. The latter is a core concept: based on the chosen Spring Boot version, a set of dependencies can be chosen, usually Spring Boot starters, that will have a concrete impact on your application. More details in the Part II, “User Guide” section.

You can easily create your own instance of the Initializr, by using the jars as libraries in your own app. There is minimal code involved and the service has a very rich configuration structure, allowing you to define not only the values of various project attributes but also the list of dependencies and the constraints to apply to them. If that sounds interesting, then Part III, “Configuration Guide” has all the details you need. You might only want to modify an existing instance of the Initializr, e.g. to add a new dependency type, or update the version of an existing one. For those and other simple and common use cases check out Chapter 8, ‘How-to’ guides.

The Initializr also provides an extensible API to generate quickstart projects, and to inspect the metadata used to generate projects, for instance to list the available dependencies and versions. The API can be used standalone or embedded in other tools (e.g. it is used in Spring Tool Suite, and in the IntelliJ IDEA and Netbeans plugins for Spring Boot). These features are covered in Part IV, “API Guide”.