带有第三方工具的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
- 带有第三方工具的Spring Boot Initilizr
现在,我们将讨论"如何使用带有第三方工具的Spring Boot Initilizr"来使用"如何使用一些流行的第三方工具来引导Spring应用程序"。
带有第三方工具的Spring Boot Initilizr
我们还可以使用以下第三方工具来引导Spring Boot应用程序。
- CURL工具
- HTTPie工具
在以下各节中,我们将通过一些简单的示例逐一讨论这些工具。
带" curl"工具的Spring Boot示例
" curl"是一个开源库和命令行工具,用于使用各种协议(例如FTP,FTPS,HTTP,HTTPS,SMTP,POP3,LDAP等)传输数据。
我们还可以使用此工具非常轻松地引导我们的Spring Boot应用程序。
" curl"官方位于:https://curl.haxx.se/
" curl"提供了两个项目:
- cURL Project –命令行工具
- libcurl项目库
" cURL"工具设置请访问" https://curl.haxx.se/download.html"URL以下载" cURL"工具。
我已经下载了Windows 64Bit zip文件,如下所示
下载完成后,我们将获得如下所示的zip文件。
只需解压缩该zip文件即可获取" curl.exe"文件。
在Windows中,我们需要设置以下系统变量:
PATH=D:\SpringBoot;%PATH%
这里的" D:\SpringBoot"是我的本地文件系统路径,其中" curl.exe"命令可用。
" cURL"语法:我们需要遵循以下语法来创建我们的Spring Boot应用程序。
curl [options...] <url>
通过执行" curl –help"命令,我们可以获得所有可用的选项。
引导Spring Boot应用程序是Spring Initializr URL :: https://start.spring.io。
当我们在CMD Prompt上执行" curl start.spring.io"时,我们可以看到所有可用的参数,Spring Boot"依赖项"或者"功能"列表等。
" cURL"示例:
示例1:-创建默认的Spring Boot项目
curl https://start.spring.io/starter.zip -o SpringBootCurlDefaultProject.zip
它为当前工作目录中的Maven构建工具创建一个名称为" SpringBootCurlDefaultProject.zip"的默认Spring Boot项目,如下所示:
示例2:-使用Gradle构建工具创建具有必需的"依赖项"和必需的包装类型的Spring Boot项目
curl https://start.spring.io/starter.zip -d dependencies=web,data-jpa,jms,ws -d packaging=war -d type=gradle-project -o SpringBootCurlWebProject.zip
在这里我们使用" -d"选项指定参数。
" -d type = gradle-project"表示创建Gradle项目。
我们可以为Maven项目指定的方法相同:" -d type = maven-project"(这是" type"参数的默认值)。
示例3:-创建一个具有所需"依赖项"和所需Maven构建工具的打包类型的Spring Boot项目
curl https://start.spring.io/starter.zip -d dependencies=web,jdbc,ws,cloud-aws,h2 -d packaging=war -d type=maven-project -o SpringBootCurlWebMavenProject.zip
在这里我们使用" -d"选项指定参数。
" -d type = gradle-project"表示创建Gradle项目。
" type = maven-project"使用pom.xml文件创建一个Maven项目(这是" type"参数的默认值)。
它使用Spring MVC,Spring JDBC,Spring WS,具有AWS和H2数据库功能的Spring Cloud创建Mavenized项目。
示例4:-通过指定Java和Spring Boot Framework版本,为Gradle构建工具创建具有所需"依赖项"和所需打包类型的Spring Boot项目。
默认情况下," spring init"命令将提取"系统变量"并采用适当的Spring Boot和Java版本。
但是,可以指定Spring Boot和Java版本。
我的Windows系统配置了Java版本= 1.8和Spring Boot版本= 1.2.3.RELEASE。
但是我想在创建新的Spring Boot项目时更改它们,如下所示。
curl https://start.spring.io/starter.zip -d dependencies=web,jdbc,ws,cloud-aws,h2 -d packaging=war -d type=gradle-project -d javaVersion=1.7 -d bootVersion=1.2.5.RELEASE -o SpringBootCurlWebGradleProject.zip
在这里我们使用" -d"选项指定参数。
" -d javaVersion = 1.7"选项用于指定Java版本,例如1.7、1.8等。
" -d bootVersion = 1.2.5.RELEASE"选项用于指定Spring Boot Framework版本,例如1.2.5、1.3等。
" -d type = gradle-project"表示创建Gradle项目。
" type = maven-project"使用pom.xml文件创建一个Maven项目(这是" type"参数的默认值)。
" -d依赖关系= web,jdbc,ws,cloud-aws,h2"指定我们的项目功能。
" -d packaging = war"选项指定包装类型为" war"。
默认值为" jar"。
它接受" pom,jar,war,ear,rar,par"
它使用Spring MVC,Spring JDBC,Spring WS,具有AWS的Spring Cloud,H2数据库功能创建Mavenized项目,并使用Java Varsion = 1.7和Spring Boot Framework版本= 1.2.5.RELEASE。
就是使用" curl"工具通过简单的命令引导Spring Boot应用程序的过程。
我们可以将那些项目导入到我们的Spring IDE中,并可以根据我们的项目要求对其进行增强。
注意:
我们可以在"使用Spring Boot CLI的Spring Boot Initilizr"中以逗号分隔的"依赖项"列表参考支持的标识符列表。
以下部分列出了受支持的构建选项。
+-----------------+-----------------------------------------+ | Rel | Description | +-----------------+-----------------------------------------+ | gradle-build | Generate a Gradle build file | | gradle-project | Generate a Gradle based project archive | | maven-build | Generate a Maven pom.xml | | maven-project * | Generate a Maven based project archive | +-----------------+-----------------------------------------+
默认的构建参数值为" maven-project"
URI模板采用一组参数来定制对链接资源的请求结果。
+-----------------+------------------------------------------+------------------------------+ | Parameter | Description | Default value | +-----------------+------------------------------------------+------------------------------+ | applicationName | application name | DemoApplication | | artifactId | project coordinates (infer archive name) | demo | | baseDir | base directory to create in the archive | no base dir | | bootVersion | spring boot version | 1.2.5.RELEASE | | dependencies | dependency identifiers (comma-separated) | none | | description | project description | Demo project for Spring Boot | | groupId | project coordinates | org.test | | javaVersion | language level | 1.8 | | language | programming language | java | | name | project name (infer application name) | demo | | packageName | root package | demo | | packaging | project packaging | jar | | type | project type | maven-project | | version | project version | 0.0.1-SNAPSHOT | +-----------------+------------------------------------------+------------------------------+
带" HTTPie"工具的Spring Boot示例
像CURL工具一样,HTTPie是一个命令行HTTP客户端,它使用简单的命令来引导Spring Boot应用程序。
这是一个基于JSON的人性化工具。
它主要用于测试,调试和与HTTP Web服务或者Web服务器交互。
Httpie官方:https://github.com/jkbrzt/httpie
" HTTPie"工具设置
- 从" https://www.python.org/downloads/"下载最新的Python Windows Installer并进行安装。
我已经安装了Python 2.7,如下所示。
使用zip文件安装非常容易。
如果您使用Windows Installer,则只需按照默认设置进行安装即可。
- 从" https://pip.pypa.io/en/latest/installing.html#install-pip"下载" get-pip.py"
只需鼠标右键单击并另存为所需的文件系统路径:
- 使用以下命令安装" pip"
python get-pip.py
- 使用以下命令安装" httpie"工具
python -m pip install --upgrade httpie
" HTTPie"示例
示例1:-创建默认的Spring Boot项目
python -m httpie https://start.spring.io/starter.zip -d
它使用默认设置创建一个新的Spring Boot项目,例如:创建项目文件名为" demo.zip",构建工具为" Maven"。
它从系统变量中获取默认的Java版本和Spring Boot Framework版本。
示例2:-创建带有Gradle构建工具所需依赖项的Spring Boot WebAppilcation(war)项目
python -m httpie https://start.spring.io/starter.zip dependencies==web,data-jpa,jms,ws type==gradle-project packaging==war -d
它使用Spring MVC,Spring DATA JPA,Spring JMS,Spring WS Capabilities创建一个Gradle项目。
注意:其中我们应该注意,我们需要在参数或者选项名称与值之间使用双等号,例如" =="。
我们可以参考"卷曲工具"部分以了解受支持的"依赖项","参数"和构建工具选项的列表。
HTTPIE和Curl工具共享相同的选项和参数。