如何用 Spring Initializr 创建并构建第一个 Spring Boot 项目?
【免费下载链接】toBeBetterJavaer一份通俗易懂、风趣幽默的Java学习指南,内容涵盖Java基础、Java并发编程、Java虚拟机、Java企业级开发、Java面试等核心知识点。学Java,就认准二哥的Java进阶之路😄项目地址: https://gitcode.com/GitHub_Trending/to/toBeBetterJavaer
这篇文章带你走一遍 toBeBetterJavaer(二哥的Java进阶之路)中「搭建第一个Spring Boot项目」的完整操作路径:用 Spring 官方提供的 Spring Initializr 生成一个 Spring Boot Web 项目骨架,导入 IntelliJ IDEA 启动确认运行正常,最后用 Maven 构建出一个可以部署的 jar 包。前提是本地已安装 JDK(文档示例选 JDK 8,文中也说明选 11 或 8 就行)、Maven 和 IntelliJ IDEA。
准备条件:确认 JDK 与 Maven 可用
Spring Initializr 负责生成骨架,后续构建依赖 Maven,运行依赖 JDK,先确认这两项环境:
java -version用于确认是否已安装 JDK。JDK 未安装或 Maven 未安装时,仓库中的 Maven 文档 给出了官方下载手动安装、macOS 下brew install maven一键安装等途径;Maven 安装完成后用mvn -v查看版本,确认配置生效。
用 Spring Initializr 创建项目
在浏览器中打开 Spring Initializr 官方地址https://start.spring.io/,把它当作 Spring Boot 项目的初始化向导,配置界面中的关键选项:
| 选项 | 说明 |
|---|---|
| Project | 构建方式,可选 Maven 或 Gradle(Gradle 构建脚本基于 Groovy、Kotlin 等语言编写,而非传统的 XML)。文档示例选 Maven |
| Language | 开发语言,可选 Java、Kotlin、Groovy,默认 Java 即可 |
| Spring Boot | 项目使用的 Spring Boot 版本,选默认版本即可,比较稳定 |
| Project Metadata | 项目基础设置,包括 Group(组织标识,如 top.codingmore)、Artifact(项目标识,如 coding-more)、Name(默认与 Artifact 一致)、Description(项目描述)、Package name(根据 Group 和 Artifact 自动生成)、Packaging(Jar 或 War,Spring Boot 时代默认 Jar 即可,因为它可以内置 Tomcat、Jetty、Undertow 等服务容器)、Java(JDK 版本,选 11 或 8) |
| Dependencies | 项目所需依赖和 starter,不选择的话默认只有核心模块spring-boot-starter和测试模块spring-boot-starter-test |
按文档示例配置:Project 选 Maven,Spring Boot 选 2.6.1,Java 选 JDK 8,Dependencies 选择描述为「Build web, including RESTful, applications using Spring MVC. Uses Apache Tomcat as the default embedded container.」的 Web 依赖——这意味着采用 Spring MVC 并以 Tomcat 作为默认服务器来开发 Web 项目。
配置完成后点击底部「generate」按钮,会生成一个 Spring Boot 初始化项目的压缩包。
可选分支:如果使用的是 IntelliJ IDEA 旗舰版,可以直接在 IDEA 中新建 Spring Boot 项目,不需要经过网页。
导入项目并看懂目录结构
解开压缩包并导入 IntelliJ IDEA。可以在项目根目录用tree -CfL 3命令以树状图列出目录内容(文档中的树状图是文档示例),核心结构为:
src/main/java:项目开发目录,业务代码写在这里;src/main/resources:配置文件目录,静态文件、模板文件和配置文件都放在这里,其中子目录static存放 JS、CSS、图片等静态资源,子目录templates存放 thymeleaf、freemarker 等模板文件;src/test/java:测试类文件目录;pom.xml:管理项目依赖和构建。
由于初始化时选择了 Maven 构建方式,pom.xml中会引入spring-boot-maven-plugin插件:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>这个插件是后面用 Maven 命令完成 jar 打包的基础。
启动项目并确认运行正常
第一次启动时,在 IDEA 中于 main 类上右键,在弹出的菜单中选择「run ... main()」启动。
启动成功的判断依据看日志:文档示例中经过 2.5s 左右的 build 后项目启动成功,日志显示 Web 项目以 Tomcat 为容器,默认端口号为 8080,根路径为空。相比传统 Web 项目,这里不需要打成 war 包,也不需要把 war 包放到 Tomcat 的 webapp 目录下再启动。
用 Maven 构建 jar 包
打开 IDEA 的 Terminal 终端,执行打包命令:
mvn clean package打包完成后进入target目录,就能看到打包好的 jar 包(文档示例中的 jar 名为tobebetterjavaer-0.0.1-SNAPSHOT.jar,它与示例项目的 Group/Artifact 对应;你实际生成的 jar 名取决于初始化时填写的 Artifact)。
这个 jar 包可以上传到服务器,以java -jar xxx.jar形式运行,运行环境需要已安装 JDK——文档示例中服务器最初没有安装 JDK,装好 JDK 后再次执行命令,Spring Boot 项目才正常跑起来。
验证第一个 Web 请求
项目启动后,在浏览器访问 8080 端口测试:此时会看到 Whitelabel 页面,即 Spring Boot 默认的错误页面(404),表示请求在 Web 服务中不存在。这是预期现象,因为项目还没有任何请求处理逻辑。
在src/main/java下增加一个 Controller 类处理 Web 请求,内容如下:
@Controller public class HelloController { @GetMapping("/hello") @ResponseBody public String hello() { return "hello, springboot"; } }这段逻辑是:用户发送 hello 请求,服务器端响应一个「hello, springboot」。重新访问/hello路径,能看到响应内容返回「hello, springboot」,就表明第一个 Spring Boot 项目开发完成了。
可选:开启热部署
开发阶段如果希望每次修改代码后服务自动重新加载,可以在pom.xml中添加spring-boot-devtools依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>加上这个依赖后,无论是代码修改还是配置文件修改,服务都能秒级重载(俗称热部署)。文档中这一步之后就结束了,没有额外配置。
参考资料
- 搭建第一个Spring Boot项目原文
- Maven 安装与配置
【免费下载链接】toBeBetterJavaer一份通俗易懂、风趣幽默的Java学习指南,内容涵盖Java基础、Java并发编程、Java虚拟机、Java企业级开发、Java面试等核心知识点。学Java,就认准二哥的Java进阶之路😄项目地址: https://gitcode.com/GitHub_Trending/to/toBeBetterJavaer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考