Spring Boot 入门:60分钟从零写出你的第一个 Web 应用
大家好,我是一名工作了5年的后端开发工程师。这些年带过不少实习生,也辅导过转行的朋友入门编程。我深知——刚接触后端框架时那种“看得懂每个字,但合起来就懵”的感觉。尤其是面对 Spring Boot 这样功能强大但概念繁多的框架,很多人第一眼就被吓退了。
所以今天,我想用最简单、最直白的方式,带你 60分钟内跑通一个真正的 Spring Boot 项目。哪怕你连 Java 都没写过几行,只要愿意动手,就能做到!
📌 小提示:虽然标题提到“Go”和“资源”,但本文聚焦 Spring Boot(Java 生态)。我会在文末解释为何初学者常混淆 Go 与 Spring,并提供一份精选学习资源清单。
一、Spring Boot 到底是啥?能干啥?
想象你要开一家餐厅。传统方式是:自己砌灶台、买锅碗瓢盆、招厨师、设计菜单……繁琐又容易出错。
而 Spring Boot 就像一个“智能厨房套装” ——它预装了所有常用设备(数据库连接、Web 服务器、安全模块等),你只需专注于做菜(写业务逻辑),不用操心基础设施。
一句话总结:
Spring Boot 是一个能让你快速搭建 Java 后端服务的框架,自带“开箱即用”的能力。
它的核心优势:
- 内嵌 Tomcat 服务器(无需单独安装)
- 自动配置(减少样板代码)
- 约定优于配置(默认行为很合理)
- 生态丰富(连接数据库、发邮件、做缓存都很方便)
我当初学的时候,光是配个 Web 项目就要折腾半天 XML 文件。而 Spring Boot 几乎一行配置都不用写,直接 run 就能启动服务——这体验太爽了!
二、环境准备:5分钟搭好开发地基
要写 Spring Boot 程序,你需要三样东西:
| 工具 | 作用 | 推荐版本 |
|---|---|---|
| JDK | Java 开发工具包 | JDK 17(LTS 版本) |
| IDE | 代码编辑器 | IntelliJ IDEA Community(免费) |
| 构建工具 | 管理依赖和打包 | Maven 或 Gradle(本文用 Maven) |
步骤 1:安装 JDK
步骤 2:安装 IntelliJ IDEA
- 下载地址:https://www.jetbrains.com/idea/download
- 选择 Community(社区版),免费且足够用
- 安装时保持默认选项即可
步骤 3:验证环境
打开 IDEA,新建一个空项目,创建一个 Main.java 文件:
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Spring Boot!");
}
}
运行它,如果控制台输出文字,说明环境 OK!
💡 避坑指南:别用 Eclipse!对新手不友好。IDEA 的智能提示能极大降低学习成本。
三、核心概念:用大白话讲清楚
1. 什么是“依赖”?
就像做蛋糕需要面粉、鸡蛋一样,写程序也需要别人写好的“工具包”。这些工具包叫 依赖(Dependencies)。
Spring Boot 通过 pom.xml(Maven 配置文件)管理依赖。比如你想做一个 Web 服务,只需加一行:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2. 什么是“注解”?
注解是 Java 里的一种标记,告诉框架“这段代码有特殊用途”。
常用注解:
@SpringBootApplication:标记这是 Spring Boot 主程序@RestController:标记这个类是用来处理 HTTP 请求的@GetMapping("/hello"):当用户访问/hello时,执行下面的方法
3. 什么是“自动配置”?
Spring Boot 会根据你引入的依赖,自动帮你配置好相关组件。
比如你加了 spring-boot-starter-web,它就自动:
- 启动内嵌 Tomcat
- 配置 JSON 解析器
- 设置默认端口为 8080
你不用写任何配置!
四、实战:手把手写一个“问候服务”
现在,我们来做一个简单的 Web 接口:当你访问 http://localhost:8080/hello?name=张三,返回 "你好,张三!"。
步骤 1:创建项目
- 打开 IDEA
- 选择 New Project → Spring Initializr
- 填写:
- Project SDK: 选你安装的 JDK 17
- Language: Java
- Type: Maven
- 在 Dependencies 中勾选 Spring Web
- 点击 Next,Finish
IDEA 会自动生成项目结构,关键文件如下:
src/
└── main/
├── java/
│ └── com.example.demo/
│ └── DemoApplication.java ← 主启动类
└── resources/
└── application.properties ← 配置文件
步骤 2:编写控制器
在 com.example.demo 包下新建一个类 HelloController.java:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello(@RequestParam String name) {
return "你好," + name + "!";
}
}
逐行解释:
@RestController:告诉 Spring 这个类处理 Web 请求@GetMapping("/hello"):当 GET 请求访问/hello时触发@RequestParam String name:从 URL 参数中取出name的值- 方法返回字符串,Spring Boot 会自动转成 HTTP 响应
步骤 3:启动项目
- 找到
DemoApplication.java - 右键 → Run 'DemoApplication.main()'
- 控制台会打印:
Tomcat started on port(s): 8080 (http) Started DemoApplication in 2.3 seconds
步骤 4:测试接口
打开浏览器,输入:
http://localhost:8080/hello?name=小明
你会看到页面显示:
你好,小明!
🎉 恭喜!你刚刚完成了一个真正的后端服务!
五、常见问题解答(新手必看)
Q1:为什么我的项目启动报错?
- 原因:端口 8080 被占用(比如开了另一个 Spring Boot 项目)
- 解决:在
application.properties中添加:server.port=8081
Q2:@RequestParam 报错说参数缺失?
- 原因:URL 没传
name参数 - 解决:给参数设默认值:
public String sayHello(@RequestParam(defaultValue = "游客") String name)
Q3:能返回 JSON 吗?
当然!把返回类型改成对象即可:
@GetMapping("/user")
public User getUser() {
return new User("李四", 25);
}
// 需要定义 User 类
class User {
private String name;
private int age;
// 构造函数、getter/setter 省略(IDEA 可自动生成)
}
访问 /user 会自动返回:
{"name":"李四","age":25}
Q4:和 Go 有什么关系?
很多初学者会问:“不是说 Go 很快吗?为什么要学 Java/Spring Boot?”
其实 Go 和 Spring Boot 是不同语言生态的解决方案:
- Go:语法简洁,并发模型优秀,适合高性能微服务
- Spring Boot:生态成熟,企业级应用首选,学习曲线稍陡但功能全面
📚 建议:先掌握一个生态,再横向扩展。Spring Boot 是 Java 后端的事实标准,值得投入。
六、下一步学习建议 & 精选资源
学习路径推荐
- 巩固基础:理解 HTTP、RESTful API 概念
- 连接数据库:学习 Spring Data JPA + H2(内存数据库)
- 项目实战:做一个“待办事项(Todo)”API
- 深入原理:了解 Spring IoC、AOP 等核心机制
免费优质资源
| 类型 | 名称 | 说明 |
|---|---|---|
| 官方文档 | Spring Boot 官网 | 权威、更新及时 |
| 视频教程 | B站《Spring Boot 2小时极速入门》 | 动手演示清晰 |
| 实战书 | 《Spring Boot 编程思想》 | 适合进阶 |
| 社区 | Stack Overflow、掘金、知乎 | 遇到问题先搜 |
我的避坑忠告
- ❌ 不要一上来就学 Spring Cloud(微服务),先搞定单体应用
- ✅ 多写代码,少看理论。哪怕抄一遍示例,也比只读强十倍
- 🔁 遇到错误别慌,90% 的问题都能通过搜索引擎解决
最后的话
60 分钟很短,但足以让你跨过后端开发的第一道门槛。我当初就是从这样一个 hello world 开始,一步步走到今天。
记住:所有高手,都曾是菜鸟。你现在写的每一行代码,都在为未来铺路。
如果你跟着教程跑通了项目,不妨在评论区留下你的第一个接口返回结果!或者告诉我你卡在哪一步,我会尽力帮你解答。
祝你编码愉快,早日成为独当一面的后端工程师!🚀

评论 0