{"id":102625,"date":"2021-05-28T11:00:00","date_gmt":"2021-05-28T08:00:00","guid":{"rendered":"https:\/\/examples.javacodegeeks.com\/?p=102625"},"modified":"2021-05-25T16:52:50","modified_gmt":"2021-05-25T13:52:50","slug":"spring-boot-starter-tutorial","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/","title":{"rendered":"Spring Boot Starter Tutorial"},"content":{"rendered":"<p>This is a tutorial about Spring Boot Starter.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-1-introduction\">1. Introduction<\/h2>\n<p>Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD for spring projects. In this article, we look at one of Spring Boot&#8217;s features called <code>Spring Boot Starters<\/code>.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-2-what-is-a-spring-boot-starter\">2. What is a Spring Boot Starter?<\/h2>\n<p>Without <code>Spring Boot starters<\/code>, we need to add all the necessary dependencies and versions in the pom. With <code>Spring Boot Starter<\/code>, we need to add just the starter name in the pom. Then all the related dependencies get added automatically to the project. Hence, <code>Spring Boot starters<\/code> are called dependency descriptors.<\/p>\n<p>Spring Boot provides many starters under the group org.springframework.boot. Their names all start with <code>spring-boot-starter*<\/code>. The way we add a starter to our application is by using the <code>pom.xml<\/code> <\/p>\n<p>The most commonly used starters are application <code>starters<\/code>. They help to develop a specific type of application. For example, we can quickly build Spring applications with web services if we use the <code>spring-boot-starter-web starter<\/code>. The way we add an application starter to our <code>pom.xml<\/code> is as follows:<\/p>\n<pre class=\"brush:xml\"> \n  &lt;dependency&gt;\n     &lt;groupid &gt; org.springframework.boot&lt;\/groupid&gt;\n     &lt;artifactid&gt;spring-boot-starter-web&lt;\/artifactid&gt;\n  &lt;\/dependency&gt;\n<\/pre>\n<p>There are 3 main types of Spring Boot starters. we take a look at each below.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-3-spring-boot-application-starters\">3. Spring Boot Application Starters<\/h2>\n<p>When we include any starter in our pom.xml, Spring will download all the dependencies required for that functionality without having to explicitly add them to our pom.xml. For example, in the above example, Spring would download all the web application dependencies. There are a large number of <code>application starters<\/code> that Spring supports. Given below is their list:<\/p>\n<figure class=\"wp-block-table aligncenter is-style-regular\">\n<table>\n<thead>\n<tr>\n<th>Starter Name<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>spring-boot-starter-thymeleaf<\/code><\/td>\n<td>MVC web applications with Thymeleaf for views.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-couchbase<\/code><\/td>\n<td>Couchbase document-oriented database and Spring Data Couchbase.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-artemis<\/code><\/td>\n<td>To use Apache Artemis as the JMS messaging protocol.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-web-services<\/code><\/td>\n<td>Spring Web Services application.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-mail<\/code><\/td>\n<td>Email sending applications. It also supports Javax mail API.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-redis<\/code><\/td>\n<td>Redis key-value data store, Spring Data Redis, and the Jedis client.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-web<\/code><\/td>\n<td>Build web and RESTful Spring applications.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-gemfire<\/code><\/td>\n<td>GemFire distributed data store with the Spring Data GemFire.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-activemq<\/code><\/td>\n<td>Apache ActiveMQ JMS messaging system.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-elasticsearch<\/code><\/td>\n<td>To enable Elasticsearch search and analytics engine with Spring Data Elasticsearch.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-integration<\/code><\/td>\n<td>Spring Integration.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-test<\/code><\/td>\n<td>Spring includes test libraries like JUnit, Hamcrest, and Mockito.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jdbc<\/code><\/td>\n<td>Tomcat JDBC connection pool for JDBC applications.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-mobile<\/code><\/td>\n<td>Spring Mobile web applications.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-validation<\/code><\/td>\n<td>Hibernate Validator with Java Bean validator.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-hateoas<\/code><\/td>\n<td>Spring HATEOAS and MVC hypermedia-based RESTful web applications<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jersey<\/code><\/td>\n<td>This starter is an alternative starter to <code>spring-boot-starter-web<\/code>, which uses Tomcat by default. We can build RESTful applications using Jersey and JAX RS with this starter.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-neo4j<\/code><\/td>\n<td>Integrate the Neo4j graph database with Spring Data Neo4j.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-ldap<\/code><\/td>\n<td>use Spring Data LDAP.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-websocket<\/code><\/td>\n<td>Spring Framework&#8217;s WebSocket support-based WebSocket applications.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-aop<\/code><\/td>\n<td>Use Spring AOP and AspectJ for aspect-oriented programming.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-amqp<\/code><\/td>\n<td>use Spring AMQP and Rabbit MQ.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-cassandra<\/code><\/td>\n<td>Use Cassandra distributed database with Spring Data Cassandra.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-social-facebook<\/code><\/td>\n<td>Spring Social Facebook.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jta-atomikos<\/code><\/td>\n<td>JTA transactions using Atomikos.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-security<\/code><\/td>\n<td>Spring Security.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-mustache<\/code><\/td>\n<td>MVC web applications with Views using Mustache.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-jpa<\/code><\/td>\n<td>Hibernate with Spring Data JPA.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter<\/code><\/td>\n<td>The starter is the primary starter that contains the basic configuration details.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-groovy-templates<\/code><\/td>\n<td>MVC web applications with Views using Groovy.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-freemarker<\/code><\/td>\n<td>MVC web applications with Views using Freemarker.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-batch<\/code><\/td>\n<td>To enable batch jobs in spring.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-social-linkedin<\/code><\/td>\n<td>Spring Social LinkedIn.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-cache<\/code><\/td>\n<td>Spring Framework&#8217;s caching mechanism.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-solr<\/code><\/td>\n<td>To support apache Solr.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter- data-mongodb<\/code><\/td>\n<td>To use MongoDB document-oriented database with Spring Data MongoDB.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jooq<\/code><\/td>\n<td>To enable the use of jooq instead of jdbc for accessing SQL databases, we use this starter.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jta-narayana<\/code><\/td>\n<td>To use the Spring Boot JTA Starter Narayana<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-cloud-connectors<\/code><\/td>\n<td>To use Spring Cloud Connectors for cloud platforms like Cloud Foundry and Heroku.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jta-bitronix<\/code><\/td>\n<td>To enable Bitronix JTA transactions<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-social-twitter<\/code><\/td>\n<td>Spring Social Twitter.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-data-rest<\/code><\/td>\n<td>use Spring Data with Spring Data REST.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><figcaption>Application starters<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"h-4-third-party-starters\">4. Third-Party Starters<\/h2>\n<p>Along with <code>Spring Boot starters<\/code>, we can also make custom <code>starters<\/code> as well. These starters are known as Third-party starters and their names generally do not start with <code>spring-boot-starter*<\/code>.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h2 class=\"wp-block-heading\" id=\"h-5-spring-boot-production-starters-and-technical-starters\">5. Spring Boot Production Starters and Technical Starters<\/h2>\n<p>Production <code>Starters<\/code> provide additional features to help you monitor and manage your application in production. Production <code>starters<\/code> are used for adding health metrics and monitoring to your application. The available ones are:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Starter name<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>spring-boot-starter-actuator<\/code><\/td>\n<td>Get production-ready features for monitoring and managing applications.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><figcaption>Production Starters<\/figcaption><\/figure>\n<p>Technical Starters are starters that provide functionality related to Web servers like Tomcat, Jetty, and logging.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td>           <strong>Starter name<\/strong><\/td>\n<td>                                                      <strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-undertow<\/code><\/td>\n<td>To use Undertow as the embedded servlet container instead of the default Tomcat.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-jetty<\/code><\/td>\n<td>To use Jetty as the embedded servlet container instead of the default Tomcat.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-logging<\/code><\/td>\n<td>To enable Logging capability.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-tomcat<\/code><\/td>\n<td>To use Tomcat as the embedded servlet container. Tomcat is the default container used by the web starter.<\/td>\n<\/tr>\n<tr>\n<td><code>spring-boot-starter-log4j2<\/code><\/td>\n<td>Enable Log4j2 logging.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><figcaption>Technical Starters<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"h-6-spring-boot-parent\">6. Spring Boot Parent<\/h2>\n<p>Every application has a set of default properties that all <code>starters<\/code> and dependencies use. The spring boot parent needs to be added for every Spring boot application. The way we add a <code>spring boot parent starter<\/code> in our project is as follows:<\/p>\n<pre class=\"brush:xml\"> \n&lt;parent&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n    &lt;version&gt;2.4.5&lt;\/version&gt;\n    &lt;relativePath\/&gt;\n &lt;\/parent&gt;\n<\/pre>\n<p>The Spring boot starter parent does the job of dependency and plugin management. It provides the default Java version, Spring Boot versions, and Maven plugins. &nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-7-spring-boot-dependencies\">7. Spring Boot Dependencies<\/h2>\n<p>Spring boot parent uses the spring dependencies. The spring-boot-dependencies contains a list of all dependencies it supports. The list of dependencies is available <a href=\"https:\/\/search.maven.org\/artifact\/org.springframework.boot\/spring-boot-starter-parent\/2.1.9.RELEASE\/pom\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n<p>Sometimes, in rare cases, we can skip adding the spring-boot-parent dependencies and do dependency management using the spring-boot-dependencies. The way we do this is by adding the following information in our pom.<\/p>\n<pre class=\"brush:xml\">&lt;dependencyManagement&gt;  \n&lt;dependencies&gt;  \n&lt;dependency&gt;    \n&lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;  \n&lt;artifactId&gt;spring-boot-dependencies&lt;\/artifactId&gt;  \n&lt;version&gt;2.1.1.RELEASE&lt;\/version&gt;  \n&lt;type&gt;pom&lt;\/type&gt;  \n&lt;scope&gt;import&lt;\/scope&gt;  \n&lt;\/dependency&gt;  \n&lt;\/dependencies&gt;  \n&lt;\/dependencyManagement&gt; \n<\/pre>\n<h2 class=\"wp-block-heading\" id=\"h-8-spring-boot-starters-example\">8. Spring-Boot Starters Example<\/h2>\n<p>To understand how starters work, we have created a simple web-based &#8220;Hello World&#8221; Spring Boot project. The project has a Controller which displays a famous quote by Shakespeare. We have used Eclipse with Spring Tool Suite to create this project. The steps required to create this project are available <a href=\"https:\/\/spring.io\/blog\/2015\/03\/18\/spring-boot-support-in-spring-tool-suite-3-6-4\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. In the pom.xml file, we have included the following <code>starters<\/code>:<\/p>\n<ul class=\"wp-block-list\" type=\"1\">\n<li><code>spring-boot-starter-parent<\/code><\/li>\n<li><code>spring-boot-starter-web<\/code><\/li>\n<li><code>spring-boot-starter-test<\/code><\/li>\n<\/ul>\n<p>These <code>starters<\/code> download all the required dependencies required to build a web-based Spring boot application. We can see the dependencies downloaded under the Maven dependencies in our project.<\/p>\n<p><span style=\"text-decoration: underline\"><em>pom.xml<\/em><\/span> <\/p>\n<pre class=\"brush:xml\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\n\txmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n\txsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\n\t&lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\t&lt;parent&gt;\n\t\t&lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n\t\t&lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n\t\t&lt;version&gt;2.4.5&lt;\/version&gt;\n\t\t&lt;relativePath \/&gt; &lt;!-- lookup parent from repository --&gt;\n\t&lt;\/parent&gt;\n\t&lt;groupId&gt;com.jcg.examples.springbootstarters&lt;\/groupId&gt;\n\t&lt;artifactId&gt;springbootstarters&lt;\/artifactId&gt;\n\t&lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n\t&lt;name&gt;SpringBootStartersDemo&lt;\/name&gt;\n\t&lt;description&gt;Demo project for Spring Boot starters&lt;\/description&gt;\n\t&lt;properties&gt;\n\t\t&lt;java.version&gt;16&lt;\/java.version&gt;\n\t&lt;\/properties&gt;\n\t&lt;dependencies&gt;\n\t\t&lt;dependency&gt;\n\t\t\t&lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n\t\t\t&lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n\t\t&lt;\/dependency&gt;\n\n\t\t&lt;dependency&gt;\n\t\t\t&lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n\t\t\t&lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\n\t\t\t&lt;scope&gt;test&lt;\/scope&gt;\n\t\t&lt;\/dependency&gt;\n\t&lt;\/dependencies&gt;\n\n\t&lt;build&gt;\n\t\t&lt;plugins&gt;\n\t\t\t&lt;plugin&gt;\n\t\t\t\t&lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n\t\t\t\t&lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;\n\t\t\t&lt;\/plugin&gt;\n\t\t&lt;\/plugins&gt;\n\t&lt;\/build&gt;\n&lt;\/project&gt;\n<\/pre>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2021\/05\/maven_dependencies.jpg\"><img decoding=\"async\" width=\"473\" height=\"810\" src=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2021\/05\/maven_dependencies.jpg\" alt=\"spring boot starter - Maven Dependencies\" class=\"wp-image-102627\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2021\/05\/maven_dependencies.jpg 473w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2021\/05\/maven_dependencies-175x300.jpg 175w\" sizes=\"(max-width: 473px) 100vw, 473px\" \/><\/a><figcaption>Maven Dependencies<\/figcaption><\/figure>\n<\/div>\n<p>Since we have added the <code>starters<\/code> and hence resolved all required Maven dependencies, we can use all the spring-boot-specific annotations such as <code>@Controller<\/code> in our code. We do not have to worry about what jars to include, what versions to include, and so on. The <code>starters<\/code> help us set up and maintain dependencies in an easy,hassle-free method.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-9-summary\">9. Summary<\/h2>\n<p>This article looked at what <code>Spring Boot starters<\/code> are and how we use them in our projects. They help make the tedious job of dependency and plugin management straightforward, hassle-free, and less error-prone.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-10-more-articles\">10. More articles<\/h2>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/examples.javacodegeeks.com\/what-is-spring-boot\/\">What is Spring Boot<\/a><\/li>\n<li><a href=\"https:\/\/examples.javacodegeeks.com\/spring-framework-example\/\">Spring Framework Example<\/a><\/li>\n<li><a href=\"https:\/\/www.javacodegeeks.com\/java-spring-tutorial\">Java Spring Tutorial<\/a><\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-11-download-the-source-code\">11. Download the Source Code<\/h2>\n<p>The attached code is for the Simple Spring Boot application with <code>starters<\/code> for dependency management.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>You can download the full source code of this example here: <a href=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2021\/05\/SpringBootDemoProject.zip\"><strong> Spring Boot Starter Tutorial<\/strong><\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD for spring projects. In this article, we look at one of Spring Boot&#8217;s features called Spring Boot Starters. 2. What is a Spring Boot Starter? Without Spring Boot starters, we need &hellip;<\/p>\n","protected":false},"author":232,"featured_media":1248,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1390],"tags":[],"class_list":["post-102625","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-boot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring Boot Starter Tutorial - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Boot Starter Tutorial - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-28T08:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Reshma Sathe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reshma Sathe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\"},\"author\":{\"name\":\"Reshma Sathe\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/079aa9a12c7b8ebea3391ebeb6036a74\"},\"headline\":\"Spring Boot Starter Tutorial\",\"datePublished\":\"2021-05-28T08:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\"},\"wordCount\":1054,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"articleSection\":[\"Boot\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\",\"name\":\"Spring Boot Starter Tutorial - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"datePublished\":\"2021-05-28T08:00:00+00:00\",\"description\":\"This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"spring\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Boot\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/boot\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Spring Boot Starter Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/079aa9a12c7b8ebea3391ebeb6036a74\",\"name\":\"Reshma Sathe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/08\/reshma_sathe-96x96.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/08\/reshma_sathe-96x96.png\",\"caption\":\"Reshma Sathe\"},\"description\":\"I am a recent Master of Computer Science degree graduate from the University Of Illinois at Urbana-Champaign.I have previously worked as a Software Engineer with projects ranging from production support to programming and software engineering.I am currently working on self-driven projects in Java, Python and Angular and also exploring other frontend and backend technologies.\",\"sameAs\":[\"www.linkedin.com\/in\/reshma-sathe\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/reshma-sathe\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Boot Starter Tutorial - Java Code Geeks","description":"This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Spring Boot Starter Tutorial - Java Code Geeks","og_description":"This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD","og_url":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2021-05-28T08:00:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","type":"image\/jpeg"}],"author":"Reshma Sathe","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Reshma Sathe","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/"},"author":{"name":"Reshma Sathe","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/079aa9a12c7b8ebea3391ebeb6036a74"},"headline":"Spring Boot Starter Tutorial","datePublished":"2021-05-28T08:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/"},"wordCount":1054,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","articleSection":["Boot"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/","url":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/","name":"Spring Boot Starter Tutorial - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","datePublished":"2021-05-28T08:00:00+00:00","description":"This is a tutorial about Spring Boot Starter. 1. Introduction Spring Boot is a Spring Framework module that provides Rapid Application Development or RAD","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-starter-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/"},{"@type":"ListItem","position":4,"name":"spring","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/"},{"@type":"ListItem","position":5,"name":"Boot","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/boot\/"},{"@type":"ListItem","position":6,"name":"Spring Boot Starter Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/079aa9a12c7b8ebea3391ebeb6036a74","name":"Reshma Sathe","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/08\/reshma_sathe-96x96.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/08\/reshma_sathe-96x96.png","caption":"Reshma Sathe"},"description":"I am a recent Master of Computer Science degree graduate from the University Of Illinois at Urbana-Champaign.I have previously worked as a Software Engineer with projects ranging from production support to programming and software engineering.I am currently working on self-driven projects in Java, Python and Angular and also exploring other frontend and backend technologies.","sameAs":["www.linkedin.com\/in\/reshma-sathe"],"url":"https:\/\/examples.javacodegeeks.com\/author\/reshma-sathe\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/102625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/232"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=102625"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/102625\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1248"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=102625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=102625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=102625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}