【Java EE】快速上手Spring Boot
本文介绍了SpringBoot如何通过Maven工具简化Java开发流程。首先讲解了Maven的核心功能,包括项目构建、依赖管理和仓库机制,重点说明其如何通过pom.xml文件自动处理依赖关系。随后通过创建HelloWorld项目,展示了SpringBoot的快速开发特性,包括自动配置、内置Tomcat和注解驱动开发。最后总结了SpringBoot的核心优势:依赖快速集成、简化配置、内置Web服务
文章目录
一、Maven
1. 什么是 Maven?
Maven 是一款基于 POM(Project Object Model,项目对象模型) 的项目管理工具。简单来说,它通过 pom.xml 文件自动获取项目所需的 jar 包,无需手动下载和添加,极大减少了依赖管理的工作量。
2. 为什么要用 Maven?
- 简化开发流程:自动处理依赖关系,避免手动找包、导包的繁琐操作。
- 统一项目构建:提供跨平台(Linux、Windows、MacOS)的标准化构建流程,支持编译、测试、打包、发布等一键操作。
- 减少开发 Bug:通过统一依赖版本,避免因版本不一致导致的兼容性问题。
3. Maven 核心功能
(1)项目构建
Maven 提供了一套标准化的生命周期命令,常见命令如下:
compile:编译源代码,生成 class 文件。test:执行测试代码,验证功能正确性。package:将项目打包为 jar 包或 war 包(jar 包用于普通项目,war 包用于 Web 项目)。clean:清理项目编译生成的临时文件( target 目录)。
在 IDEA 中,只需在 Maven 面板点击对应命令,即可完成相应操作,例如点击 package 可直接生成项目包。
(2)依赖管理
依赖即项目运行所需的 jar 包,Maven 通过 pom.xml 中的 <dependencies> 标签管理依赖,核心配置如下:
<dependencies>
<!-- MySQL 驱动依赖 -->
<dependency>
<groupId>mysql</groupId> <!-- 组织 ID,唯一标识依赖的开发组织 -->
<artifactId>mysql-connector-java</artifactId> <!-- 项目 ID,唯一标识依赖本身 -->
<version>8.0.30</version> <!-- 依赖版本号 -->
</dependency>
</dependencies>
配置后点击 IDEA 中的 Reload All Maven Projects 按钮,Maven 会自动下载依赖并添加到项目中。
(3)依赖传递与排除
- 依赖传递:若 A 依赖 B,B 依赖 C,Maven 会自动下载 A、B、C 三个依赖,无需手动配置 C,例如项目引入 Spring 核心依赖时,会自动下载其依赖的日志组件。
- 依赖排除:若某个间接依赖不需要,可通过
<exclusions>标签排除,例如:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>6.0.6</version>
<!-- 排除 spring-jcl 依赖 -->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
</exclusion>
</exclusions>
</dependency>
4. Maven 仓库
Maven 依赖存储在仓库中,分为三类:
- 本地仓库:本地计算机的目录(
.m2\repository),用于缓存下载的依赖,后续项目可直接复用。 - 中央仓库:Maven 官方维护的远程仓库(地址:https://repo1.maven.org/maven2/),存储全球绝大多数开源依赖。

当项目引入对应的依赖jar包时:如果本地仓库有,则直接引入;如果没有,则先去中央仓库下载jar包到本地,再引入
- 私服:企业或团队搭建的私有仓库,用于存储内部依赖,优先从私服下载依赖,提升速度并保障安全性。
当maven需要下载资源时:如果本地仓库不存在,就向私服请求,私服存在就直接返回;私服不存在则先从中央仓库下载到私服,再返回到本地。
二、创建第一个 HelloWorld 项目
SpringBoot 是 Spring 框架的“脚手架”,能快速搭建 Spring 项目,无需手动配置 Web 服务器
1. 项目目录结构解析
SpringBoot 项目目录遵循“约定大于配置”,目录如下:
demo
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com.example.demo # 源代码目录
│ │ │ ├── DemoApplication.java # 项目启动类(含 main 方法)
│ │ │ └── HelloController.java # 自定义控制器(手动创建)
│ │ └── resources # 资源目录
│ │ ├── static # 静态资源(JS、CSS、HTML)
│ │ ├── templates # 动态模板(Thymeleaf)
│ │ └── application.properties # 项目配置文件
│ └── test # 测试代码目录
└── pom.xml # Maven 配置文件
2. 编写 HelloWorld 代码
- 在
com.example.demo包下创建HelloController类:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController // 标识此类为 Web 控制器,返回 JSON 或字符串
public class HelloController {
// 配置请求路径:http://127.0.0.1:8080/hello
@RequestMapping("/hello")
public String sayHi() {
return "Hello world"; // 响应内容
}
}
- 找到项目启动类
DemoApplication.java(有@SpringBootApplication注解),点击类左侧的“Run”按钮,启动项目。
3. 访问项目
项目启动成功后,打开浏览器,输入地址 http://127.0.0.1:8080/hello:
4. 常见错误排查
(1)404 错误:资源不存在
- 原因 1:URL 路径错误(少写、错写路径)。
- 原因 2:控制器注解错误(如用
@Controller代替@RestController,@Controller需配合模板使用,返回字符串会被当作模板路径)。 - 解决:检查 URL 与
@RequestMapping配置是否一致,确保注解正确。
(2)500 错误:服务器内部错误
- 原因:代码逻辑错误(空指针异常)。
- 解决:查看 IDEA 控制台的异常日志,定位错误代码行(如
int res = 10/0会触发算术异常),修复逻辑错误。
(3)无法访问网站:连接被拒绝
- 原因:SpringBoot 项目未启动成功(如端口被占用、JDK 版本不匹配)。
- 解决:检查 IDEA 控制台是否有启动错误,若端口被占用,可在
application.properties中配置新端口。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)