Starters are simplified dependency descriptors customized for different purposes. For example, spring-boot-starter-web is the starter for building web application, including RESTful, using Spring MVC. It uses Tomcat as the default embedded container. If I want to develop a web application using Spring MVC, all we would need to do is include spring-boot-starter-web in our dependencies, and we get the following automatically pre-configured:
- Spring MVC
- Compatible versions of jackson-databind (for binding) and hibernate-validator (for form validation)
- spring-boot-starter-tomcat (starter project for Tomcat)
The following code snippet shows some of the dependencies configured in spring-boot-starter-web:
<dependencies> ...