Categories: Spring BootTutorial

Spring Boot Initializr with Spring Boot CLI

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;" trbidi&equals;"on">&NewLine;<div style&equals;"font-family&colon; calibri&comma; sans-serif&semi; text-align&colon; justify&semi;">&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Hello friends lets discuss another way to create spring boot project structure by using Spring Boot Initializr&period; Spring Boot Initializr is used to quick start new Spring Boot Maven&sol;Gradle projects within no time&period; It generates initial project structure and builds scripts to reduce Development time&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">As previous chapter we have seen following ways for Spring Boot Initialzr&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<ul style&equals;"font-size&colon; 12pt&semi;">&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-initilizr-web-interface-and-examples&period;html"><b>Spring Boot Initilizr through Web Interface<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-initilizr-with-ides-via-spring-tool-suite&period;html"><b>Spring Boot Initilizr through IDEs&sol;IDE Plugins<&sol;b><&sol;a><&sol;li>&NewLine;<li><b>Spring Boot Initilizr through Spring Boot CLI<&sol;b><&sol;li>&NewLine;<&sol;ul>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Before starting discussion for this tutorial we have to go through my previous chapter <b>&lpar;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-cli-installation-and-hello-world-example&period;html">Spring Boot CLI installation and Hello World Example<&sol;a>&rpar;<&sol;b> for Basic and Installation guide for Spring Boot CLI&period; As in previous chapter we saw&comma; the Spring Boot CLI is a great way to develop Spring applications by just writing code&period; However&comma; the Spring Boot CLI also has a few commands that can help us use the Initializr to kick-start development on a more traditional Java project&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Spring Boot CLI provides a &OpenCurlyDoubleQuote;<b>spring init<&sol;b>” command to bootstrap Spring Applications&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Syntax for Init Command&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b><br &sol;>&NewLine;<&sol;b> <i>spring init &lbrack;options&rsqb; &lbrack;location&rsqb;<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Here &OpenCurlyDoubleQuote;<b>options<&sol;b>” are command options and &OpenCurlyDoubleQuote;<b>location<&sol;b>” is specified our file system location to create new Spring Boot Project&period; <&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<div align&equals;'center' id&equals;"ads-id"><&sol;div>&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Examples for Spring Init Command&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Example 1&colon; Use default setting<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i><br &sol;>&NewLine;<&sol;i> <i>&dollar; spring init<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">After contacting the Initializr web application&comma; the init command will conclude by downloading a <b>demo&period;zip<&sol;b> file with following default setting&period; <&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<ul style&equals;"font-size&colon; 12pt&semi;">&NewLine;<li>Default Build tool is &OpenCurlyDoubleQuote;<b>maven<&sol;b>”&period;<&sol;li>&NewLine;<li>Default Spring Initilizr service target URL&colon;<b><i> https&colon;&sol;&sol;start&period;spring&period;io<&sol;i><&sol;b><&sol;li>&NewLine;<li>Default project name&colon; &OpenCurlyDoubleQuote;<b>demo<&sol;b>”<&sol;li>&NewLine;<li>Default maven type&colon; &OpenCurlyDoubleQuote;<b>jar<&sol;b>”<&sol;li>&NewLine;<li>Default only baseline starter dependencies for <b>Spring Boot<&sol;b> and <b>testing<&sol;b><&sol;li>&NewLine;<&sol;ul>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Example 2&colon; Using required dependencies on web project<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Let’s say you want to start out by building a web application that uses JPA for data persistence and that’s secured with Spring Security&period; You can specify those initial dependencies with either <b>&&num;8211&semi;dependencies<&sol;b> or <b>-d<&sol;b>&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring init –dweb&comma; jpa&comma; security<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">This will give you a demo&period;zip containing the same project structure as before&comma; but with Spring Boot’s web&comma; JPA&comma; and security starters expressed as dependencies in<b> pom&period;xml<&sol;b>&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Example 3&colon; Using required dependencies on web project with change Build &lpar;Maven to Gradle&rpar;<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>For Gradle<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring init –dweb&comma; jpa&comma; security –build gradle<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>For Maven<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring init –dweb&comma; jpa&comma; security –build maven<&sol;i> &lpar;maven is default build type&rpar;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Example 4&colon; Change packaging<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">By default&comma; the build specification for both Maven and Gradle builds will produce an executable JAR file&period; If you’d rather produce a WAR file&comma; you can specify so with the <b>&&num;8211&semi;packaging<&sol;b> or <b>-p <&sol;b>parameter&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring init –dweb&comma; jpa&comma; security –build gradle –p war<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Example 5&colon; Change application name<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring init –dweb&comma; jpa&comma; security –build gradle –p war myapp&period;zip<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Example 6&colon; Specifying the Java version to compile with&comma; and selecting a version of Spring Boot<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring init –dweb&comma; jpa&comma; security –build gradle &&num;8211&semi;java-version&equals;1&period;7 &&num;8211&semi;boot-version&equals;1&period;3&period;0&period;RELEASE –p war myapp&period;zip<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><b>Other more commands<&sol;b><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">We can discover all of the parameters by using the help command&colon;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>&dollar; spring help init<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">For lists several parameters that are supported by the Initializr&period;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;"><i>spring init -l&nbsp&semi;<&sol;i><&sol;div>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">&NewLine;<&sol;div>&NewLine;<p><b>Summary<&sol;b><&sol;p>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Whether we use Initializr’s web-based interface&comma; create our projects from Spring Tool Suite&comma; or use the Spring Boot CLI to initialize a project&comma; projects created using the Spring Boot Initializr have a familiar project layout&comma; not unlike other Java projects we may have developed before&period;<&sol;div>&NewLine;<p><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;f2f9fc&semi; border-radius&colon; 3px&semi; border&colon; 1px solid &num;c9e6f2&semi; line-height&colon; 1&period;45&semi; padding&colon; 16px&semi;"><b>Spring Boot Related Topics<&sol;b><&sol;p>&NewLine;<ol style&equals;"text-align&colon; left&semi;">&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2017&sol;04&sol;spring-boot-interview-questions-and-answers&period;html">Spring Boot Interview Questions and Answers<&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;introduction-to-spring-boot-a-spring-boot-complete-guide&period;html">Introduction to Spring Boot<&sol;a><&sol;b><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;essentials-key-components-and-internals-of-spring-boot-framework&period;html"><b>Essentials and Key Components of Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-cli-installation-and-hello-world-example&period;html"><b>Spring Boot CLI Installation and Hello World Example<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-initilizr-web-interface-and-examples&period;html"><b>Spring Boot Initializr Web Interface<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;06&sol;spring-boot-initilizr-with-ides-via-spring-tool-suite&period;html"><b>Spring Boot Initializr With IDEs<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;installing-spring-boot&period;html"><b>Installing Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;developing-your-first-spring-boot-application-hello-world&period;html"><b>Developing your first Spring Boot application<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;customizing-spring-boot-auto-configuration&period;html"><b>External Configurations for Spring Boot Applications<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;logging-configuration-in-spring-boot&period;html"><b>Logging Configuration in Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;07&sol;spring-boot-with-spring-mvc-application&period;html"><b>Spring Boot and Spring MVC<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;working-with-sql-databases-in-spring-boot-application&period;html"><b>Working with SQL Databases and Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;mysql-configuration-with-spring-boot&period;html"><b>MySQL Configurations<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-data-jpa-using-in-spring-boot-application&period;html"><b>Spring Data JPA using Spring Boot Application<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-boot-with-nosql-technologies&period;html"><b>Spring Boot with NoSQL technologies<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-cache-tutorial&period;html"><b>Spring Cache Tutorial<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-security-tutorial-using-spring-boot&period;html"><b>Spring Security Tutorial with Spring Boot<&sol;b><&sol;a><&sol;li>&NewLine;<li><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-boot-and-mongodb-in-rest-application&period;html"><b>Spring Boot and MongoDB in REST Application<&sol;b><&sol;a><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2016&sol;08&sol;spring-boot-actuator-complete-guide&period;html">Complete Guide for Spring Boot Actuator<&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;2017&sol;01&sol;microservices-with-spring-boot&period;html">Microservices with Spring Boot<&sol;a><&sol;b>&NewLine;<&sol;li>&NewLine;<&sol;ol>&NewLine;<&sol;div>&NewLine;<p><&sol;p>&NewLine;<div style&equals;"font-size&colon; 12pt&semi;">Happy Spring Boot Learning &colon;&rpar;<&sol;p>&NewLine;<p>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<div class&equals;"wp-post-navigation"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-pre"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-boot-initilizr-with-ides-via-spring-tool-suite&sol;">Previous<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-next"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;installing-spring-boot&sol;">Next<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;<&sol;div>&NewLine;<script type&equals;"text&sol;javascript">&NewLine;jQuery&lpar;document&rpar;&period;ready&lpar;function&lpar;&dollar;&rpar; &lbrace;&NewLine; &dollar;&period;post&lpar;'https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-admin&sol;admin-ajax&period;php'&comma; &lbrace;action&colon; 'mts&lowbar;view&lowbar;count'&comma; id&colon; '142'&rcub;&rpar;&semi;&NewLine;&rcub;&rpar;&semi;&NewLine;<&sol;script>

Dinesh Rajput

Dinesh Rajput is the chief editor of a website Dineshonjava, a technical blog dedicated to the Spring and Java technologies. It has a series of articles related to Java technologies. Dinesh has been a Spring enthusiast since 2008 and is a Pivotal Certified Spring Professional, an author of a book Spring 5 Design Pattern, and a blogger. He has more than 10 years of experience with different aspects of Spring and Java design and development. His core expertise lies in the latest version of Spring Framework, Spring Boot, Spring Security, creating REST APIs, Microservice Architecture, Reactive Pattern, Spring AOP, Design Patterns, Struts, Hibernate, Web Services, Spring Batch, Cassandra, MongoDB, and Web Application Design and Architecture. He is currently working as a technology manager at a leading product and web development company. He worked as a developer and tech lead at the Bennett, Coleman & Co. Ltd and was the first developer in his previous company, Paytm. Dinesh is passionate about the latest Java technologies and loves to write technical blogs related to it. He is a very active member of the Java and Spring community on different forums. When it comes to the Spring Framework and Java, Dinesh tops the list!

Share
Published by
Dinesh Rajput

Recent Posts

Strategy Design Patterns using Lambda

Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…

4 years ago

Decorator Pattern using Lambda

Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…

4 years ago

Delegating pattern using lambda

Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…

4 years ago

Spring Vs Django- Know The Difference Between The Two

Technology has emerged a lot in the last decade, and now we have artificial intelligence;…

4 years ago

TOP 20 MongoDB INTERVIEW QUESTIONS 2022

Managing a database is becoming increasingly complex now due to the vast amount of data…

4 years ago

Scheduler @Scheduled Annotation Spring Boot

Overview In this article, we will explore Spring Scheduler how we could use it by…

4 years ago