一、Spring Initializr

  1. 访问 Spring Initializr
  2. 选择构建工具 Maven Project、Spring Boot 2.1.4、Java 1.8 以及一些工程基本信息,可参考下图所示:

001.png

  1. 点击 Generate Project 下载项目压缩包
  2. 解压后,使用 Idea 打开项目

002.png

二、Spring CLI

最新项目下载地址:Manual Installation
历史项目下载地址:Spring CLI

将下载好的zip压缩包解压到自定义目录,比如:

  1. D:\Development\Spring\spring-2.4.1

将其目录下的 bin 添加到PATH环境变量。

验证命令:

  1. $ spring version
  2. Spring CLI v2.4.1

运行groovy文件

创建一个 hello.groovy 文件

  1. @RestController
  2. class WebApplication {
  3. @RequestMapping("/")
  4. String home() {
  5. "Hello World!"
  6. }
  7. }

运行:

spring run hello.groovy

创建SpringBoot项目

通过 init 命令创建一个SpringBoot项目

spring init springCliDemo
Using service at https://start.spring.io
Project extracted to 'D:\Workplace\_Idea\springCliDemo'

如果初始化的时候需要添加依赖,使用参数 --dependencies

spring init --dependencies=web,data-jpa my-project

查看Spring初始化列表

使用 init --list 可以查看支持的初始化类型及参数:

$ spring init --list
Project types (* denotes the default)
+-----------------+------------------------------------------+-----------------------------+
| Id              | Description                              | Tags                        |
+-----------------+------------------------------------------+-----------------------------+
| gradle-build    | Generate a Gradle build file.            | build:gradle,format:build   |
| gradle-project  | Generate a Gradle based project archive. | build:gradle,format:project |
| maven-build     | Generate a Maven pom.xml.                | build:maven,format:build    |
| maven-project * | Generate a Maven based project archive.  | build:maven,format:project  |
+-----------------+------------------------------------------+-----------------------------+


Parameters
+-------------+------------------------------------------+------------------------------+
| Id          | Description                              | Default value                |
+-------------+------------------------------------------+------------------------------+
| artifactId  | project coordinates (infer archive name) | demo                         |
| bootVersion | spring boot version                      | 2.4.1                        |
| description | project description                      | Demo project for Spring Boot |
| groupId     | project coordinates                      | com.example                  |
| javaVersion | language level                           | 11                           |
| language    | programming language                     | java                         |
| name        | project name (infer application name)    | demo                         |
| packageName | root package                             | com.example.demo             |
| packaging   | project packaging                        | jar                          |
| type        | project type                             | maven-project                |
| version     | project version                          | 0.0.1-SNAPSHOT               |
+-------------+------------------------------------------+------------------------------+

示例:

spring init --build=gradle --java-version=1.8 --dependencies=websocket --packaging=war sample-app.zip

spring shell

进入spring shell:

$ spring shell
Spring Boot (v2.4.1)
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.
> version
Spring CLI v2.4.1

参考资料:

三、通过Idea创建

  1. 选择 File -> New —> Project… 弹出新建项目的框
  2. 选择 Spring Initializr,Next 也会出现上述类似的配置界面,Idea 帮我们做了集成
  3. 填写相关内容后,点击 Next 选择依赖的包再点击 Next,最后确定信息无误点击 Finish。

001.png
002.png
003.png

四、手动创建SpringBoot项目

想要深入了解SpringBoot,于是就手动创建了一个SpringBoot项目,具体步骤如下:

  1. 创建一个maven项目 mvn archetype:generate
  2. pom.xml 中添加相关依赖
<project>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
  </parent>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

五、运行和打包

  • mvn clean 清理生成的产物 (target 目录)
  • mvn spring-boot:run 运行程序
  • mvn package 打包程序

在构建之前, 需要安装依赖以及清理之前的构建

mvn install
mvn clean

运行 mvn package 可以对项目进行打包,输出到 target/xxx.jar
可以使用 java -jar 命令运行该应用程序:

java -jar target/demo-0.0.1-SNAPSHOT.jar

调试已打包的应用:

java -jar myproject.jar --debug

六、命令行属性

默认情况下,SpringApplication会将所有命令行配置参数(以 -- 开头,比如 --server.port=9000)转化成一个property,并将其添加到Spring Environment中。命令行属性总是优先于其他属性源

如果不喜欢将 application.properties 作为配置文件名,你可以通过指定 spring.config.name 环境属性来切换其他的名称,也可以使用 spring.config.location 环境属性引用一个明确的路径(目录位置或文件路径列表以逗号分割)。比如:

java -jar myproject.jar --spring.config.name=myproject

# or
java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

如果不想将命令行属性添加到 Environment,你可以使用 SpringApplication.setAddCommandLineProperties(false) 来禁用它们。