Spring Boot Initilizr - 使用Spring Boot CLI
Spring Boot Initilizr - 使用Spring Boot CLI
这是我之前的两篇文章的延续。在阅读本文之前,请先阅读我之前在“ Spring Boot Initilizr Web界面 ”和“使用IDE或IDE插件的Spring Boot Initilizr ”中发布的帖子。
Spring Boot Initilizr用于快速启动新的Spring Boot Maven / Gradle项目。它生成初始项目结构并构建脚本以减少开发时间。
正如我在上一篇文章中所讨论的,Spring Boot Initilizr有以下几种形式:
- 带Web界面的Spring Boot Initilizr
- 使用IDE / IDE插件的Spring Boot Initilizr
- 使用Spring Boot CLI的Spring Boot Initilizr
- 使用ThirdParty工具的Spring Boot Initilizr
现在我们将讨论如何使用“Spring Boot Initilizr with Spring Boot CLI”选项来引导Spring应用程序。
使用Spring Boot CLI的Spring Boot Initilizr
请先通过这篇文章“Spring Boot CLI Basics”来设置Spring Boot CLI软件。Spring Boot CLI提供了一个“spring init”命令来引导Spring Applications。
我从“https://start.spring.io”下载了Spring Boot CLI zip,并在“D:\ spring-boot-cli-1.2.3.RELEASE”中安装了该软件。
设置以下系统变量:
PATH=D:\spring-boot-cli-1.2.3.RELEASE\bin;%PATH%
“spring init”命令
“spring init”命令是Spring Boot CLI Component中易于使用的命令。它使用“https://start.spring.io”托管的“Spring Initilizr服务”(默认情况下,我们也可以指定目标URL。我们将在下一节讨论这个。)使用Spring引导Spring或Spring Boot应用程序Spring Boot CLI组件。
“spring init”语法
spring init [options] [location]
这里“options”是命令选项,“location”指定我们的文件系统位置以创建新的Spring Boot Project。我们将很快详细讨论命令选项。
使用“spring help init”命令查看所有可用的“spring init”命令选项,如下所示。
spring help init
“spring init”命令示例
现在我们将通过一些合适的例子逐一探索“spring init”命令选项。在IDE工作区打开CMD(命令提示符)(我的工作区位于D:\ RamWorkspaces \ SpringSTSBootWorkspace2)并执行以下示例。
示例1: -使用默认设置创建Spring Boot项目:
spring init
它在当前工作目录下使用默认设置创建新的Spring Boot Project zip文件为“demo.zip”。
注意: - “spring init”默认设置:
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>
<groupId>org.test</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>demo</name>
- 默认构建工具是“maven”。
- 默认的Spring Initilizr服务目标URL:https://start.spring.io
- 默认项目名称:“demo”
- 默认maven类型:“jar”
- 添加到构建脚本文件的默认Spring Boot依赖项:
- 默认的Maven工件:
示例2: -使用所需的依赖项和项目名称创建Spring Boot项目
spring init -d=web,data-jpa,jms,ws SpringMVCMavenToolProject.zip
它使用JPA,JMS和WS功能创建了一个打包的Spring Boot WebApplication。
这里“-d”选项意味着我们可以用逗号分隔值列出所有必需的功能。
“SpringMVCMavenToolProject.zip”是在当前工作目录中使用该名称创建的项目名称和zip文件。
示例3: -使用Gradle Build Tool的所需依赖项和项目名称创建Spring Boot项目。
spring init -d=web,data-jpa,jms,ws --build=gradle -p=war SpringMVCGradleToolProject
它为Gradle构建工具创建了一个解压缩的Spring Boot WebApplication,其中包含JPA,JMS和WS功能。
- “-d”选项意味着我们可以用逗号分隔的值列出所有必需的功能。
- “-build”选项指定必需的构建工具。它接受两个值:maven(默认)和gradle。
- “SpringMVCGradleToolProject”是在当前工作目录中创建的项目名称。
- “-p”或“-packaging”选项指定包装类型。默认值为“jar”。
示例4: -使用Maven Build Tool所需的依赖项和项目名创建Spring Boot项目。
spring init -d=web,jdbc,ws,cloud-aws,h2 --build=maven--packaging=war SpringMVCMavenToolProject.zip
它为Maven构建工具创建了一个带有JDBC,AWS Cloud和WS功能的打包Spring Boot WebApplication。
- “-d”选项意味着我们可以用逗号分隔的值列出所有必需的功能。
- “-build”选项指定必需的构建工具。它接受两个值:maven(默认)和gradle。
- “SpringMVCMavenToolProject”是在当前工作目录中创建的项目名称。
- “-p”或“-packaging”选项指定包装类型。默认值为“jar”。它接受“pom,jar,war,ear,rar,par”
示例-5: -使用指定的Spring Boot和Java版本为Maven Build Tool创建具有所需依赖项和项目名称的Spring Boot项目。
默认情况下,“spring init”命令将拾取“系统变量”并采用适当的Spring Boot和Java版本。但是,可以指定Spring Boot和Java Versions。
我的Windows系统配置了Java Version = 1.8和Spring Boot version = 1.2.3.RELEASE。但是我想在创建新的Spring Boot项目时更改它们,如下所示。
spring init -d=web,jdbc,ws,cloud-aws,h2 --build=maven--java-version=1.7--boot-version=1.2.5.RELEASE-packaging=war SpringMVCMavenToolProject.zip
它使用Java 1.7和Spring Boot 1.2.5.RELEASE为Maven构建工具创建了一个带有JDBC,AWS Cloud和WS功能的打包Spring Boot WebApplication。
- “-j”或“-java-version”选项用于指定Java版本,如1.7,1.8等。
- “-b”或“-boot-version”选项用于指定Spring Boot Framework版本,如1.2.5.RELEASE,1.3.0.M1等。
- “-d”选项意味着我们可以用逗号分隔的值列出所有必需的功能。
- “-build”选项指定必需的构建工具。它接受两个值:maven(默认)和gradle。
- “SpringMVCMavenToolProject”是在当前工作目录中创建的项目名称。
- “-p”或“-packaging”选项指定包装类型。默认值为“jar”。它接受“pom,jar,war,ear,rar,par”
注意: -
当我们执行“spring init”命令时,我们可以观察到以下消息,说它将连接“Spring Boot Initilizr默认服务”。
Using service at https://start.spring.io
同样,我们可以使用其他“spring init”选项来探索它们。例如,“ - force”强制更新已存在的相同项目名称以及更新以避免错误。
注意: -
我们可以提取使用“spring init”命令创建的zip文件,并将这些项目导入我们最喜欢的Spring IDE(例如: - Spring STS Suite),并继续开发我们的项目相关要求。
我们将使用这些Spring Boot项目开发一些应用程序,以增强我即将发布的帖子中的一些功能。
以下部分列出了受支持的构建选项。
+--------+----------------------------------------------------------------------+
| Id | Description |
+--------+----------------------------------------------------------------------+
| maven | Creates a Maven project with pom.xml file for Maven build tool |
| gradle | Creates a Maven project with build.gradle file for Gradle build tool |
+-------------------------------------------------------------------------------+
默认构建参数值为“maven”
以下部分列出了以逗号分隔的“依赖项”列表支持的标识符。
+-------------------------+-----------------------------------------------------------------------------------------------+------------------+
| Id | Description | Required version |
+-------------------------+-----------------------------------------------------------------------------------------------+------------------+
| actuator | Production ready features to help you monitor and manage your application | |
| amqp | Support for the Advanced Message Queuing Protocol via spring-rabbit | |
| aop | Support for aspect-oriented programming including spring-aop and AspectJ | |
| batch | Support for Spring Batch including HSQLDB database | |
| cache | Support for Spring's Cache abstraction | >= 1.3.0.M1 |
| cloud-aws | Support for spring-cloud-aws | >= 1.2.3.RELEASE |
| cloud-aws-jdbc | Support for spring-cloud-aws-jdbc | >= 1.2.3.RELEASE |
| cloud-aws-messaging | Support for spring-cloud-aws-messaging | >= 1.2.3.RELEASE |
| cloud-bus-amqp | Support for spring-cloud-bus-amqp | >= 1.2.3.RELEASE |
| cloud-config-client | Support for spring-cloud-config Client | >= 1.2.3.RELEASE |
| cloud-config-server | Support for spring-cloud-config Server | >= 1.2.3.RELEASE |
| cloud-connectors | Simplifies connecting to services in cloud platforms | >= 1.2.0.RELEASE |
| cloud-eureka | Support for spring-cloud-netflix Eureka | >= 1.2.3.RELEASE |
| cloud-eureka-server | Support for spring-cloud-netflix Eureka Server | >= 1.2.3.RELEASE |
| cloud-feign | Support for spring-cloud-netflix Feign | >= 1.2.3.RELEASE |
| cloud-hystrix | Support for spring-cloud-netflix Hystrix | >= 1.2.3.RELEASE |
| cloud-hystrix-dashboard | Support for spring-cloud-netflix Hystrix Dashboard | >= 1.2.3.RELEASE |
| cloud-oauth2 | Support for spring-cloud-security OAuth2 | >= 1.2.3.RELEASE |
| cloud-ribbon | Support for spring-cloud-netflix Ribbon | >= 1.2.3.RELEASE |
| cloud-security | Support for spring-cloud-security | >= 1.2.3.RELEASE |
| cloud-starter | Support for spring-cloud-context (e.g. Bootstrap context and @RefreshScope) | >= 1.2.3.RELEASE |
| cloud-turbine | Support for spring-cloud-netflix Turbine | >= 1.2.3.RELEASE |
| cloud-turbine-amqp | Support for spring-cloud-netflix Turbine AMQP | >= 1.2.3.RELEASE |
| cloud-zuul | Support for spring-cloud-netflix Zuul | >= 1.2.3.RELEASE |
| data-elasticsearch | Support for the Elasticsearch search and analytics engine including spring-data-elasticsearch | |
| data-gemfire | Support for the GemFire distributed data store including spring-data-gemfire | |
| data-jpa | Support for the Java Persistence API including spring-data-jpa, spring-orm and Hibernate | |
| data-mongodb | Support for the MongoDB NoSQL Database, including spring-data-mongodb | |
| data-rest | Support for exposing Spring Data repositories over REST via spring-data-rest-webmvc | |
| data-solr | Support for the Apache Solr search platform, including spring-data-solr | |
| derby | Support for the Apache Derby database (with embedded support) | >= 1.2.2.RELEASE |
| devtools | Support for Spring Boot Development Tools. | >= 1.3.0.M1 |
| freemarker | Support for the FreeMarker templating engine | |
| groovy-templates | Support for the Groovy templating engine | |
| h2 | Support for the H2 database (with embedded support) | |
| hateoas | Support for HATEOAS-based RESTful services | >= 1.2.2.RELEASE |
| hornetq | Support for Java Message Service API via HornetQ | |
| hsql | Support for the HSQLDB database (with embedded support) | |
| integration | Support for common spring-integration modules | |
| jdbc | Support for JDBC databases | |
| jersey | Support for the Jersey RESTful Web Services framework | >= 1.2.0.RELEASE |
| jta-atomikos | Support for JTA distributed transactions via Atomikos | >= 1.2.0.M1 |
| jta-bitronix | Support for JTA distributed transactions via Bitronix | >= 1.2.0.M1 |
| mail | Support for javax.mail | >= 1.2.0.RC1 |
| mobile | Support for spring-mobile | |
| mustache | Support for the Mustache templating engine | >= 1.2.2.RELEASE |
| mysql | Support for the MySQL jdbc driver | |
| postgresql | Support for the PostgreSQL jdbc driver | |
| redis | Support for the REDIS key-value data store, including spring-redis | |
| remote-shell | Support for CRaSH | |
| security | Support for spring-security | |
| social-facebook | Support for spring-social-facebook | |
| social-linkedin | Support for spring-social-linkedin | |
| social-twitter | Support for spring-social-twitter | |
| thymeleaf | Support for the Thymeleaf templating engine, including integration with Spring | |
| vaadin | Support for Vaadin | |
| velocity | Support for the Velocity templating engine | |
| web | Support for full-stack web development, including Tomcat and spring-webmvc | |
| websocket | Support for websocket development with Tomcat | |
| ws | Support for Spring Web Services | |
+-------------------------+-----------------------------------------------------------------------------------------------+------------------+
从这个列表中,我们已经在我们的示例中使用了“web,data-jpa,jms,ws”。还请尝试使用其他功能或依赖项来开发一些示例。我们将在以后的帖子中使用其他依赖项来探索它们。
您可以在我的帖子“ Spring Boot Initilizr With ThirdParty Tools ”中阅读剩余的“ThirdParty Tools”选项。
这就是“使用Spring Boot CLI的Spring Boot Initilizr”。
如果您遇到任何问题或有任何建议,请给我发表评论。
转载来源:https://www.journaldev.com/8609/spring-boot-initilizr-with-spring-boot-cli
Spring Boot Initilizr - 使用Spring Boot CLI相关推荐
- 使用Spring Boot CLI的Spring Boot Initilizr
This is continuation to my two previous posts. Before reading this post, please go through my previo ...
- Spring Boot Initilizr - 使用ThirdParty工具
Spring Boot Initilizr - 使用ThirdParty工具 这是我之前的两篇文章的延续.在阅读本文之前,请先阅读我之前在" Spring Boot Initilizr We ...
- Spring Boot Initilizr - 使用IDE或IDE插件
Spring Boot Initilizr 使用IDE或IDE插件 这是我之前的帖子的延续.在阅读这篇文章之前,请先阅读我在" Spring Boot Initilizr Web界面 &qu ...
- Spring Boot Initilizr Web界面
Spring Boot Initilizr Web界面 在这篇文章中,我们将讨论Spring Boot Initilizr Web Interface及其IDE或IDE插件.在阅读帖子之前,请查看我之 ...
- 带有第三方工具的Spring Boot Initilizr
This is continuation to my two previous posts. Before reading this post, please go through my previo ...
- 具有IDE或IDE插件的Spring Boot Initilizr
This is continuation to my previous post. Before reading this post, please go through my previous po ...
- 使用 Spring Boot 快速构建 Spring 框架应用
https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/index.html Spring 框架对于很多 Java 开发人员来说都不陌生 ...
- 使用 Spring Boot 快速构建 Spring 框架应用--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...
- Spring教程:使用Spring框架和Spring Boot创建Hello World REST API
由于Java社区对早期版本的Enterprise Java感到失望,因此创建了Spring Framework . 从那时起,它已经发展成为一个巨大的生态系统,可以解决构建基于Web的Java应用程序 ...
最新文章
- 中国联通备战5G MWC发布《Edge-Cloud平台架构及产业生态白皮书》
- 使用 Python 从零开始开发区块链应用程序
- SQL语句中exists和in的区别
- mysql某个表的列除以2_数据库mysql(二)
- flutter ios上踩的一个坑
- 如何掌握眼神接触技巧?
- RHELServer6.2下编译GDAL和mysql和proj4支持
- 如何解决arcmap中的反走样问题。
- 中科软java笔试题
- 电子书格式转换 Epubor Ultimate 7 附注册机
- 几个黑科技、实用网站(转自公众号:趣说软件)
- signature=5a522a8356f9906b0b775bdada02a4c6,合肥2016年4月29日至2016年5月12日交通违章查询...
- scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
- LINUX - 实时LINUX内核(PREEMPT_RT)的编译安装以及测试
- 项目包ExpressJS入门指南
- 网盘搜索工具整理2015
- 播放流媒体常用工具和格式
- 系统集成项目管理工程师+android,系统集成项目管理工程师证书样本
- 营销型网站建设怎么做? 营销型网站建设的制作技巧
- 实现图像检索系统需要用到哪方面的知识?