Spring Initializr介绍

在本节中介绍使用Spring Initializr创建SpringBoot项目,它是一种在线生成SpringBoot项目的工具。

Spring Initializr 提供了一个简单直观的 Web UI 页面来创建、配置和生成基于 Spring 的应用程序。 该工具使开发人员可以轻松生成初始项目结构,而无需过多担心项目结构和依赖关系。  Spring Initializr 工具提供以下内容。

  • 项目结构。
  • 启动工作所需的依赖项。
  • 构建脚本(Maven 或 Gradle)来构建应用程序。
  • 语言和版本(Initializr 会根据版本添加正确的依赖)。
  • 打包(war或jar)。

下面介绍如何使用Spring Initializr 在线工具创建项目。

Spring Initializr创建项目

打开Spring Initializr工具网站,看到如下截图。

使用Initializr创建SpringBoot项目

如图所示,这是 Initializr 视图,具有最少的选项来构建您的项目。 让我们对这些选项进行一些了解。

  • Project:我们可以选择基于 Maven 或 Gradle 的项目。 在这篇文章中,我们选择 Maven。 此选择会为我们的项目生成一个 pom.xml 文件。
  • Language:要使用的编程语言(我们选择了 Java)。 您也可以选择 Groovy 或 Kotlin。
  • Spring Boot:Spring Boot 版本。这里我们选择较高版本的2.7.2。
  • Group:Apache Maven 中的 groupId 属性,也称为项目组的 id。
  • Artifact:项目的名称,也称为 Apache Maven 中的 artifactId 属性。
  • Name:项目的名字。
  • Description:项目的描述。
  • Package name:项目的包名。
  • Packageing:项目的打包方式,可以选择Jar或War,我们选择Jar。 
  • Java: 选择使用Java的版本。
  • Dependencies:应用程序的依赖项列表。 根据需要选择。

提供这些详细信息后,单击底部”GENERATE Ctrl + ⏎"按钮生成我们的项目。

使用Initializr创建SpringBoot项目

接着,浏览器会下载Spring Initializr 提供的zip文件夹,下面是我们生成的 Maven 项目的结构。

mvnw
mvnw.cmd
pom.xml
src
├── main
│   ├── java
│   │   └── com
│   │       └── yxjc
│   │           └── demo
|   |               └── DemoApplication.java
│   └── resources
│       ├── application.properties
│       ├── static
│       └── templates
└── test
    └── java
        └── com
            └── yxjc
                └── demo
                    └── DemoApplication.java

上述结构由工具根据所选依赖项自动创建。 由于我们选择“web”作为我们的依赖项,Spring Initializr 检测到它是一个 web 应用程序,它会提供一个静态和模板目录,用于保存您的静态资源和模板。

Spring Initializr 可以在项目结构中包含 Maven 包装器。 这个包装器确保我们不必安装 Maven 来运行这个项目。

要在不安装 Maven 的情况下构建和运行此应用程序,请使用以下命令 ./mvnw install。

Spring Initializr 依赖项

在默认的页面中,我们看不到Spring Initializr的依赖项,请选择右侧的按钮 ”Add dependencies...Ctrl + b“,我们可以看到一些依赖项。

使用Initializr创建SpringBoot项目

使用命令行初始化项目

如果您不喜欢 Web 界面或更喜欢使用命令行工具,Initializr 服务提供了使用命令行为您的应用程序生成项目结构的选项。 我们可以用cURL或HTTPie命令。

 //创建一个默认项目
    $ curl https://start.spring.io/starter.zip -o demo.zip

       //创建 Java 10 的项目
    $ curl https://start.spring.io/starter.zip -d dependencies=web \\
            -d javaVersion=10 -o demo.zip

       //创建 web/data-jpa
    $ curl https://start.spring.io/starter.tgz -d dependencies=web,data-jpa \\
           -d type=gradle-project -d baseDir=my-dir | tar -xzvf -

        //创建 Maven POM war 打包项目
    $ curl https://start.spring.io/pom.xml -d packaging=war -o pom.xml
在后面的章节中我们讲解使用Idea创建SpringBoot项目。