Spring官方提供了Spring Initializr网站来创建Spring Boot项目,Intellij IDEA编辑器也内置了Spring Initializr生成器。这里就以Spring Initializr为例介绍如何初始化Spring Boot项目骨架。
1. 使用Spring Initializr
访问Spring Initializr网站; 在左侧依次选择Project(项目构建方式:使用Maven,还是使用Gradle方式)、Language(默认选择Java,一般无需修改)、Spring Boot(默认选择2.7.3,比较稳定,一般无需修改),设置Project Metadata相关信息; Group:项目所属组织的标识符,比如:com.jiaoxn; Artifact:项目标识符,比如:example; Name:默认保持与Artifact一致即可; Description:项目的描述信息; Package name:项目报名,默认根据Group和Artifact的组合,比如:com.jiaoxn.example; Packaging:项目打包方式,默认为JAR,默认即可 Java:项目使用的JDK版本,选择11或者8版本 在右侧选择相关的依赖,这里仅介绍开发Web项目的基础依赖: Spring Web
:使用Spring MVC构建Web应用程序,包括RESTful,并使用Apache Tomcat作为默认的嵌入式容器。

配置完成后,点击GENERATE
,Spring Initializr会自动创建项目并提供ZIP包下载。
2. 项目文件夹结构
项目文件夹的结构:
笔者将默认的application.properties文件改为application.yml文件

其中:
src/main/java
对应开发目录,业务代码都是在这里面;src/main/resource
对应资源目录, 包括配置文件、静态资源、模板文件等;src/test
对应测试文件目录;pom.xml
对应SpringBoot的配置文件,用来管理项目依赖;ExampleApplication.java
是该应用的主类。
3. 启动应用
运行Spring Boot应用,就是运行应用主类的main方法,可以通过IDE工具运行或者构建工具运行。
3.1 通过IDE工具启动
使用IDEA编辑器,点击右上方的Run ...
按钮即可启动该项目,点击Debug ...
按钮以调试模式启动该项目。

3.2 通过构建工具启动
如果想以构建工具的方式运行该应用,需要先确保应该安装了Spring Boot Maven插件,即在pom.xml中检查是否含有如下内容:
<build>
<plugins>
<!-- 定义Spring Boot Maven,用于运行Spring Boot应用 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后,在包含pom.xml文件的路径中执行如下命令:
mvn spring-boot:run
3.3 查看应用
此时访问浏览器并输入localhost:8088
会得到以下界面:

该界面是Spring Boot的默认的错误界面,表示请求的服务不存在。
4. 定义第一个控制器
本系列教程是介绍:在前后端分类架构中,如何使用Spring Boot框架开发后端接口,不会介绍Thymeleaf视图模板技术。
在包com.jiaoxn.exmaple
下创建controller
包,并在其中创建ExampleController.java
文件,编写如下内容:
package com.jiaoxn.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @author jiao xn
* @date 2022/8/24
*/
@Controller
public class ExampleController {
@GetMapping("/example")
@ResponseBody
public String hello() {
return "Hello, Spring Boot!";
}
}
重新运行该项目,并在浏览器中访问localhost:8088/example
,得到以下界面:

如果以前用过Spring MVC,对上面的代码肯定很熟悉,它是一个很简单的MVC中的控制器,其中:
@Controller
:修饰类,指示该类的实例作为控制器@GetMapping
:修饰方法,指示该方法所能处理的GET请求地址@ResponseBody
:修饰方法,指定该方法生成RESTful响应
5. 配置热部署
默认情况下,新增Controller文件或者修改Controller文件后,都需要手动重新运行该项目,这大大影响了开发效率。Spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用,具体使用方法如下:
编辑 pom.xml
文件,添加spring-boot-devtools
依赖,然后安装maven依赖
...
<dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
</dependencies>
修改IDEA相关配置
打开
Settings
界面,依次选择Build、Execution、Deployment
、Compiler
,勾选Build project automatically2021版之前,通过组合键 ctrl+alt+shift+/
打开registry
窗口,勾选compiler.automake.allow.when.app.running
;2021版之后,在 Settings
界面,在Advanced Settings
中,勾选Allow auto-make ...重启IDEA软件
6. 打包应用
Spring Boot内嵌了Web服务器(默认是Tomcat),无需将Spring Boot应用部署到其他Web服务器,只需打包成JAR包即可。
打包之前也需要确认,当前Spring Boot应用配置了Spring Boot Maven依赖,具体确认方法参考3.2节。另外,还需要确认pox.xml中的<packaging.../>
元素的值是否为jar
,默认情况下没有该元素是被省略的,此时代表使用packaging
的默认值:jar。
与启动应用类型,打包应用也有2种方法:通过IDE或者使用构建工具。
打开IDEA右侧的 Maven
面板,双击package
打包项目应用;在pom.xml文件所在的路径下,一次执行 mvn clean
、mvn package
2条命令。

打包过程会先执行compile
阶段(编译项目)、test
阶段(测试阶段)、package
阶段(打包阶段)。
打包成功后,,可在target
目录下看到对应的*.jar
文件。jar文件名称中,example
对应第1章中介绍的Artifact
项目标识符,0.0.1-SNAPSHOT
是版本号,可在pom.xml
中配置。
打包得到的JAR
文件可以通过java -jar <filename>.jar
命令来运行。




