60分钟从零写出你的第一个Spring Boot应用

青山不改需求改
2026-04-05 14:37
阅读 2439

大家好,我是一个写了五年后端、维护过十几个开源项目的工程师。今天这篇教程,源于我经常被刚入门的朋友问:“能不能带我快速跑通一个Spring Boot项目?”

说实话,我当初学的时候也踩过不少坑——环境配不对、依赖搞混乱、启动就报错……所以这次,我想用最直白的语言、最少的术语、最多的实操,带你 在60分钟内真正跑起来一个能访问的Web服务。不需要你懂Java框架,只要会装软件、会复制代码就行!


Spring Boot到底是啥?能干啥?

简单说:Spring Boot 是一个帮你快速搭建 Java Web 应用的“脚手架”

  • 它不是一门新语言,而是基于 Java 的开发工具。
  • 它自动配置了很多东西(比如数据库连接、Web服务器),你不用手动写一堆繁琐代码。
  • 适合做网站后端、API接口、微服务等。

💡 类比理解:如果你要盖房子,Spring Boot 就像预制好的钢结构框架——你不用从挖地基开始,直接往上砌墙、装门窗就行。


环境准备:三步搞定开发环境

第一步:安装 JDK(Java 开发工具包)

Spring Boot 基于 Java,所以必须先装 JDK 17 或更高版本(推荐 JDK 17,稳定且主流)。

  • 下载地址:https://adoptium.net/(选 Temurin 17)
  • 安装后,在终端输入:
    java -version
    
    如果看到类似 openjdk version "17.0.x",说明成功了。

⚠️ 新手常见问题:不要装 JRE!要装 JDK(Development Kit),否则没法编译代码。

第二步:安装 IDE(代码编辑器)

推荐使用 IntelliJ IDEA Community(免费版)

✅ 小技巧:IDEA 对 Spring Boot 支持极好,会自动提示依赖、生成代码,新手友好度拉满。

第三步:确认网络畅通

Spring Boot 项目依赖很多第三方库,需要联网下载。如果你在国内,建议配置阿里云 Maven 镜像(后面会教你怎么改)。


核心概念:三个关键词讲明白

别被“框架”吓到,其实就三件事:

1. Controller(控制器)

处理用户请求的地方。比如你访问 /hello,就由 Controller 返回“你好!”。

2. Application(主程序)

整个项目的入口,带 @SpringBootApplication 注解的那个类。

3. Embedded Server(内嵌服务器)

Spring Boot 自带 Tomcat(Web服务器),不用单独安装!这就是“开箱即用”的关键。

🌟 技术分享时间:很多人不知道,Spring Boot 默认把 Tomcat 打包进 jar 文件里了,所以你运行一个 jar 就能启动完整 Web 服务——这叫 Embedded(内嵌)模式


实战:60分钟动手做一个“问候服务”

现在,我们一步步做一个能返回“Hello, [名字]!”的接口。

步骤 1:创建项目(用官方脚手架)

打开浏览器,访问 https://start.spring.io

填写如下信息:

选项
Project Maven
Language Java
Spring Boot 3.2.x(最新稳定版)
Group com.example
Artifact demo
Packaging Jar
Java Version 17

Dependencies 搜索框中输入 Spring Web,点击添加。

最后点 Generate,下载 zip 包,解压到任意文件夹。

🔍 为什么选 Maven?因为它是 Java 最主流的构建工具,比 Gradle 更适合新手理解依赖关系。

步骤 2:导入项目到 IDEA

  1. 打开 IDEA
  2. 选择 File > Open
  3. 找到你刚解压的 demo 文件夹,打开
  4. 等待 IDEA 自动下载依赖(第一次可能要1-3分钟)

💡 如果卡在 “Resolving dependencies”,说明网络慢。可手动配置 Maven 镜像(见文末附录)。

步骤 3:编写第一个接口

src/main/java/com/example/demo 目录下,你会看到一个 DemoApplication.java

新建一个文件:右键该目录 → New → Java Class → 名字填 HelloController

粘贴以下代码:

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(defaultValue = "World") String name) {
        return "Hello, " + name + "!";
    }
}

📖 代码解释:

  • @RestController:告诉 Spring 这是个 Web 控制器
  • @GetMapping("/hello"):当用户访问 /hello 时执行这个方法
  • @RequestParam:从 URL 参数中取 name,比如 /hello?name=Alice

步骤 4:启动项目

回到 DemoApplication.java,你会看到左边有个绿色小三角 ▶️,点击它!

控制台会输出类似:

Tomcat started on port(s): 8080 (http)
Started DemoApplication in 2.345 seconds

✅ 成功了!现在打开浏览器,访问:

http://localhost:8080/hello

你会看到:Hello, World!

再试试:

http://localhost:8080/hello?name=Kimi

输出:Hello, Kimi!

🎉 恭喜!你刚刚完成了人生第一个 Spring Boot 接口。注意,这里提到的 Kimi 并不是月之暗面那个 AI,只是我们随便起的测试名字——不过如果你真想用 Spring Boot 调用 Kimi API,后面也可以做到!


常见问题 & 避坑指南

❌ 问题1:启动报错 “Address already in use”

说明 8080 端口被占用了。解决办法:

src/main/resources/application.properties 文件中加一行:

server.port=8081

然后重启,访问 http://localhost:8081/hello

❌ 问题2:IDEA 提示 “Cannot resolve symbol ‘SpringBootApplication’”

这是依赖没下载完。尝试:

  1. 右键项目 → Maven → Reload Projects
  2. 或者删除 .m2/repository 缓存目录(路径在用户目录下),重新导入

❌ 问题3:中文乱码

application.properties 加:

server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true

❌ 问题4:想改项目名或包名?

建议:初学阶段别改!等你熟悉结构后再重构。乱改包名容易导致 Spring 扫描不到组件。


下一步怎么学?我的学习路径建议

你现在已经跨过了最难的第一步。接下来,我建议按这个顺序深入:

阶段1:巩固基础(1-2周)

  • 学会接收 JSON 数据(用 @RequestBody
  • 连接数据库(H2 内存数据库最简单)
  • 写单元测试(Spring Boot Test 很强大)

阶段2:做个小项目(比如博客系统)

  • 用户注册登录(用 Spring Security)
  • 文章增删改查(CRUD)
  • 分页查询

阶段3:进阶工具链

  • 日志管理(Logback)
  • 接口文档(Swagger)
  • 部署上线(Docker + 云服务器)

📚 关于书籍推荐:
我当初看的是《Spring Boot实战》(Craig Walls 著),但对纯新手可能有点难。更友好的是《Spring Boot编程思想》(作者:小马哥),或者直接看官方文档 https://spring.io/guides


关于 Embedding 和 AI 的一点延伸

你可能会好奇:标题里的 Embedding 是什么?其实在 NLP(自然语言处理)中,Embedding 是把文字转成向量的技术。比如把“苹果”变成 [0.23, -1.45, 0.89, ...]

虽然 Spring Boot 本身不处理 Embedding,但你可以用它搭建 AI 服务的后端!例如:

  1. 前端传一句话给 Spring Boot
  2. Spring Boot 调用 Kimi 或其他大模型 API
  3. 模型返回结果,Spring Boot 再转发给前端

这样,你的 Spring Boot 应用就成了 AI 能力的“桥梁”。

💡 技术分享:我维护的一个开源项目就是用 Spring Boot 封装了多个 Embedding 模型的 API,让前端能统一调用。你会发现,后端的核心价值是“集成”与“调度”,而不是算法本身。


附录:国内加速 Maven 依赖(重要!)

如果你下载依赖特别慢,在 IDEA 中操作:

  1. 打开 File > Settings > Build > Build Tools > Maven
  2. User settings file 后点击右边文件夹图标,打开 settings.xml
  3. <mirrors> 标签内加入:
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

保存后,重新 Reload 项目,速度飞起!


最后的话

60分钟很短,但足够让你亲手触摸到后端开发的真实手感。我见过太多人卡在环境配置就放弃了,而你已经跑通了第一个接口——这比90%的观望者都强。

记住:所有复杂的系统,都始于一个能跑起来的 hello world

下次当你看到淘宝、京东的后端服务,不妨想想:它们最初,也不过是一个小小的 /hello

加油!有问题欢迎留言讨论。技术分享的意义,就是让后来者少走弯路。

—— 一个希望你少踩坑的开源维护者

评论 0

最热最新
暂无评论
青山不改需求改Lv.1
0
影响力
0
文章
0
粉丝