SpringBoot 入门篇:从 0 到 1 搭建 Web 项目
开篇:为什么 SpringBoot 是 “Java 开发救星”?
你有没有听过前辈吐槽 “Spring 配置能写吐”?比如搭个简单的 Web 项目:
- 要手动找 10 + 个依赖(Spring、SpringMVC、Tomcat、Jackson…),版本还不能错;
- 要写web.xml、spring.xml、spring-mvc.xml,光配置文件就占半屏代码;
- 最后还要打 War 包,部署到 Tomcat,少一步就报错。
SpringBoot 就是来解决这些麻烦的—— 它像 “Spring 的成品套餐”,把常用依赖、配置、服务器全打包好,你只需 “拆箱即用”。比如搭个 Web 项目,只需 3 步:加依赖、写代码、跑程序,新手 10 分钟就能搞定。
一、SpringBoot 核心优势:3 点解决 Spring 的 “痛点”
先明确 Spring 的 3 个核心痛点,再看 SpringBoot 怎么 “对症下药”:
| Spring 的痛点 | SpringBoot 的解决方案 | 通俗理解 |
|---|---|---|
| 🔧依赖配置繁琐 | 起步依赖(Starter) | 不用一个个找 Jar 包,比如spring-boot-starter-web包含 Web 开发所有依赖 |
| ⚙️配置文件臃肿 | 自动配置(AutoConfiguration) | 不用写spring.xml,SpringBoot 启动时自动初始化 Bean 到容器 |
| 🚀部署麻烦 | (需外部 Tomcat) | 内置服务器(Tomcat/Jetty) |
二、实战:10 分钟搭建 “Hello World” Web 项目
目标:浏览器访问http://localhost:8080/hello,返回 “hello world ~”。
推荐 4 种搭建方法,小白按自己的环境选(IDEA 联网版最常用)。
方法 1:IDEA 联网版(推荐,新手首选)
步骤 1:新建 Spring Initializr 项目
- 打开 IDEA→
New Project→选择Spring Initializr→Default(默认地址,需联网)→Next; - 填写项目信息(按自己需求填,新手建议默认):
- Group:组织名(比如
com.heima); - Artifact:项目名(比如
springboot-hello); - Java Version:选 8(SpringBoot 3.0 + 需 JDK17,新手选 8 更稳);
- Group:组织名(比如
- 勾选 “Web 依赖”:左侧选
Web→勾选Spring Web→Next; - 选择项目保存路径→
Finish,IDEA 会自动下载依赖,等待加载完成。
步骤 2:写核心代码(Controller)
在com.heima.springboothello包下新建controller包,再建HelloController类:
// 包路径:com.heima.springboothello.controller(必须在引导类所在包的子包下)
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
// @RestController:标记这是一个Web控制器,返回字符串/JSON
@RestController
public class HelloController {
// @GetMapping("/hello"):接收浏览器的GET请求,路径是/hello
@GetMapping("/hello")
public String sayHello() {
// 返回字符串给浏览器
return "hello world ~";
}
}
步骤 3:运行项目,测试效果
- 找到项目自动生成的 “引导类”(带
@SpringBootApplication注解,类名一般是SpringbootHelloApplication); - 点击类左侧的 “绿色三角” 运行,看到Tomcat started on port(s): 8080说明启动成功;
- 打开浏览器,输入
http://localhost:8080/hello,页面显示 “hello world ~”—— 成功!
方法 2:官网创建版(IDEA 无法联网时用)
- 打开 SpringBoot 官网:https://start.spring.io/(需联网);
- 填写项目信息(同方法 1),勾选
Spring Web依赖; - 点击
Generate下载项目压缩包; - 解压后,用 IDEA 打开(File→Open→选择解压后的文件夹);
- 后续步骤同方法 1(写 Controller→运行)。
方法 3:阿里云版(外网无法访问 Spring 官网时用)
- IDEA 新建
Spring Initializr→Custom→输入阿里云地址:https://start.aliyun.com/→Next; - 填写项目信息,勾选
Spring Web(注意:阿里云的依赖版本可能较低,可后续手动改); - 后续步骤同方法 1。
**注意:**如果需要高版本 SpringBoot,打开pom.xml,修改spring-boot-starter-parent的版本(比如2.7.15)。
方法 4:手工制作版(完全无法联网时用)
适合没有网络,手动搭建 Maven 项目,能帮你理解 SpringBoot 的底层结构。
步骤 1:创建普通 Maven 项目
IDEA→New Project→Maven→不勾选模板→Next→填写项目信息→Finish。
步骤 2:改 pom.xml(加父工程和依赖)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 1. 继承SpringBoot父工程(管理所有依赖版本,避免冲突) -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.15</version> <!-- 稳定版,支持JDK8 -->
</parent>
<groupId>com.heima</groupId>
<artifactId>springboot-manual</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- 2. 加Web起步依赖(包含SpringMVC、Tomcat等) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
步骤 3:写引导类(项目入口)
在com.heima包下建SpringBootManualApplication:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// @SpringBootApplication:SpringBoot核心注解,包含3个功能:
// 1. 自动配置(AutoConfiguration) 2. 包扫描(扫描当前包及子包) 3. 允许注册Bean
@SpringBootApplication
public class SpringBootManualApplication {
// 主方法:项目入口
public static void main(String[] args) {
// 启动SpringBoot项目,初始化Spring容器
SpringApplication.run(SpringBootManualApplication.class, args);
}
}
步骤 4:写 Controller(同方法 1)
后续步骤和方法 1 一样,运行引导类,浏览器访问/hello即可。
三、核心概念:Starter vs Parent 别再混淆!
新手最容易搞混 “起步依赖(Starter)” 和 “父工程(Parent)”,用表格一次性讲清:
| 概念 | 定义 | 核心作用 | 示例 |
|---|---|---|---|
| Parent | SpringBoot 的父工程(spring-boot-starter-parent) | 管理所有依赖的版本号,避免版本冲突 | 你加spring-boot-starter-web时不用写版本,Parent 已指定 |
| Starter | 封装特定功能的依赖集合 | 简化依赖配置,一个 Starter 包含多个相关 Jar 包 | spring-boot-starter-web包含 SpringMVC、Tomcat、Jackson 等 |
通俗比喻:
- Parent 像 “超市采购员”,帮你选好所有商品(依赖)的固定版本,避免买到 “过期商品”(版本冲突);
- Starter 像 “预制菜套餐”,比如 “Web 套餐” 里有米饭(SpringMVC)、菜(Tomcat)、汤(Jackson),不用你一个个挑。
四、引导类:SpringBoot 的 “启动开关”
引导类是 SpringBoot 项目的唯一入口,必须带@SpringBootApplication注解,核心作用:
1. 启动 Spring 容器:初始化 IOC 容器,把@Controller、@Service等 Bean 装进去;
2. 自动扫描 Bean:默认扫描 “引导类所在的包及所有子包”(比如引导类在com.heima,com.heima.controller里的HelloController会被扫描,com.abc.controller则不会);
3. 自动配置:比如看到spring-boot-starter-web依赖,就自动配置 SpringMVC、Tomcat 等。
新手坑:如果 Controller 访问不到(404),先检查 Controller 的包是否在引导类的子包下!
五、辅助功能:内置服务器(不用装 Tomcat 了!)
1. 为什么能 “打 Jar 包直接跑”?
SpringBoot 把 Tomcat 服务器做成了 “Java 对象”,启动项目时会自动创建 Tomcat 对象,把项目部署到这个内置 Tomcat 里 —— 相当于 “项目自带服务器”,不用你手动装 Tomcat、部署 War 包。
2. 切换服务器(Tomcat→Jetty/Undertow)
默认是 Tomcat,如需切换(比如追求轻量选 Jetty),只需改pom.xml:
示例:切换为 Jetty
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 1. 排除默认的Tomcat依赖 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 2. 加Jetty依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
3. 3 种内置服务器对比
| 服务器 | 特点 | 适用场景 |
|---|---|---|
| Tomcat | 默认,社区成熟,兼容性好,功能全 | 绝大多数 Web 项目(90% 的场景) |
| Jetty | 轻量级,启动快,资源占用少 | 轻量应用、嵌入式设备 |
| Undertow | 性能强(并发高),基于 NIO | 高并发场景(比如秒杀、直播) |
六、小白实用技巧:2 个避坑 / 效率小知识
默认目录结构
src/
├── main/
│ ├── java/ # Java源代码
│ └── resources/ # 资源文件
│ ├── static/ # 静态资源(CSS/JS/图片)
│ ├── templates/ # 模板文件
│ └── application.properties # 配置文件
└── test/ # 测试代码
1. 静态资源放哪里?
HTML、CSS、JS 等前端文件,默认放在src/main/resources下的 3 个目录,SpringBoot 会自动识别:
- static/:最常用(比如
static/index.html,访问http://localhost:8080/index.html); - public/:和 static 类似;
- resources/:一般放配置文件,也能放静态资源。
2. IDEA 隐藏无用文件(看着清爽)
新建项目后会有.mvn、HELP.md等文件,不想看可以隐藏:
- IDEA→File→Settings→Editor→File Types;
- 找到
Ignored Files and Folders,点击+; - 输入要隐藏的文件 / 文件夹(支持通配符),比如.mvn、HELP.md;
- 点击
OK,无用文件就看不到了。
七、总结:SpringBoot 入门核心要点
- 核心优势:起步依赖(简配置)、自动配置(少代码)、内置服务器(易部署);
- 项目结构:引导类(入口)→Controller(处理请求)→静态资源(前端文件);
- 关键概念:Parent 管版本,Starter 管功能;
- 新手避坑:Controller 包要在引导类子包下,访问不到先查包路径。
SpringBoot 入门的核心是 “简化”—— 它没新增复杂语法,只是帮你做了重复的配置工作。跟着上面的步骤搭好 “Hello World”,再慢慢探索更多功能(比如连接数据库、整合 Redis),你会发现 Java 开发原来可以这么轻松!
更多推荐


所有评论(0)