Spring Boot 60分钟从零到跑通:新手实战指南

内存泄漏君
2025-12-24 00:07
阅读 1217

大家好,我是你们的老朋友阿哲,一名在一线大厂干了三年后端开发的工程师,平时也在B站做技术分享。最近收到不少私信:“学Java到底要不要学Spring Boot?”、“面试总被问Spring Boot,但我连环境都搭不起来”……

我当初学的时候也是一头雾水——官方文档太抽象,视频教程跳步太多,书本又厚得像砖头。于是今天我决定写一篇真正面向零基础的Spring Boot入门教程,不讲理论堆砌,只聚焦实战经验,带你用60分钟亲手跑起第一个项目。无论你是自学转行、在校学生,还是准备求职的新人,这篇都能帮你跨过那道“看起来很难”的门槛。


为什么是Spring Boot?

简单说:Spring Boot = Java + 快速开发框架
它帮你自动配置数据库连接、Web服务器、安全策略等繁琐细节,让你专注写业务逻辑。现在90%以上的Java后端岗位都要求会Spring Boot,可以说——不会Spring Boot,等于不会Java后端

我翻过市面上十几本《Spring实战》《精通Spring Boot》,但对新手最友好的方式永远是:先跑起来,再理解原理。所以本文不推荐你先啃书,而是直接动手!


第一步:搭建开发环境(10分钟)

你需要准备什么?

工具 版本建议 作用
JDK 17(或8/11) Java运行环境
IDE IntelliJ IDEA(社区版免费) 写代码的编辑器
Maven 内置(IDEA自带) 项目依赖管理工具

💡 避坑提示:不要用Eclipse!对Spring Boot支持远不如IDEA。学生可申请JetBrains教育许可证,免费用正版IDEA。

安装步骤(以Windows为例):

  1. 安装JDK 17
    Oracle官网Adoptium 下载安装。
  2. 验证安装
    打开终端,输入:
    java -version
    
    看到 openjdk version "17.x.x" 即成功。
  3. 安装IntelliJ IDEA Community
    官网下载安装即可,无需额外配置Maven。

我的经验:很多新手卡在环境变量配置。其实IDEA能自动识别JDK路径,只要java -version能输出,基本就OK。


第二步:创建你的第一个Spring Boot项目(5分钟)

打开IDEA → New Project → 选择 Spring Initializr

填写以下信息:

  • Project SDK: 选择你安装的JDK 17
  • Language: Java
  • Type: Maven
  • Group: com.example(随便填,公司项目会用域名倒写)
  • Artifact: demo
  • Dependencies: 只勾选 Spring Web

点击Next → Finish,等待几秒(Maven会自动下载依赖)。

🌟 关键点:Dependencies里只选Spring Web!别贪多,新手加一堆依赖反而容易报错。


第三步:理解核心概念(用大白话)

在写代码前,先搞懂三个词:

1. Controller(控制器)

就像餐厅的服务员——接收顾客(浏览器)点单,通知厨房(业务逻辑)做菜,再把菜(数据)端回去。

2. REST API

一种约定好的“点单格式”。比如访问 /hello 就返回 "Hello World!"

3. 自动配置(Auto-configuration)

Spring Boot的魔法!你不用手动启动Tomcat服务器,它自动给你配好。


第四步:动手写一个“Hello World”接口(15分钟)

目录结构说明

src
└── main
    └── java
        └── com.example.demo
            ├── DemoApplication.java  ← 主启动类(别动它!)
            └── controller
                └── HelloController.java  ← 我们要新建的文件

步骤1:新建 HelloController.java

右键 com.example.demo → New → Package → 输入 controller
右键 controller → New → Java Class → 输入 HelloController

步骤2:写代码

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }
}

代码逐行解释:

  • @RestController:告诉Spring这是个控制器,返回内容直接当网页显示(不是跳转页面)
  • @GetMapping("/hello"):当浏览器访问 /hello 路径时,执行下面的方法
  • public String sayHello():方法名随意,返回字符串就是网页内容

步骤3:启动项目

找到 DemoApplication.java,右键 → Run 'DemoApplication'

看到控制台输出:

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

说明服务已启动!

步骤4:测试接口

打开浏览器,访问:http://localhost:8080/hello
你应该看到页面显示:Hello, Spring Boot!

恭喜!你已经完成了第一个Spring Boot应用!


第五步:升级一下——做个简单的用户查询(20分钟)

光返回字符串太简单?我们来模拟查数据库(实际用内存模拟,省去数据库配置)。

1. 创建 User 实体类

新建 package entity,创建 User.java

package com.example.demo.entity;

public class User {
    private Long id;
    private String name;
    private Integer age;

    // 构造函数
    public User(Long id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    // Getter 方法(IDEA可右键 Generate → Getter)
    public Long getId() { return id; }
    public String getName() { return name; }
    public Integer getAge() { return age; }
}

2. 改造 HelloController

package com.example.demo.controller;

import com.example.demo.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

@RestController
public class HelloController {

    // 模拟数据库数据
    private static final List<User> users = Arrays.asList(
        new User(1L, "张三", 25),
        new User(2L, "李四", 30),
        new User(3L, "王五", 28)
    );

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }

    // 新增:根据名字查用户
    @GetMapping("/user")
    public User getUserByName(@RequestParam String name) {
        return users.stream()
            .filter(user -> user.getName().equals(name))
            .findFirst()
            .orElse(null);
    }
}

3. 测试新接口

重启项目(IDEA点上方红色方块停止,再点绿色三角启动)。

浏览器访问:http://localhost:8080/user?name=张三
返回:

{"id":1,"name":"张三","age":25}

💡 知识点@RequestParam 用来获取URL参数(如 ?name=xxx 中的 name


新手常见问题 & 解决方案

问题 原因 解决办法
启动报错 Port 8080 was already in use 8080端口被占用 关闭其他程序,或在 application.propertiesserver.port=8081
访问接口返回404 Controller没被扫描到 确保Controller在主启动类同包或子包下
依赖下载慢 Maven默认源在国外 pom.xml 同级目录建 maven 文件夹,配置阿里云镜像(B站搜“Maven镜像配置”有视频)
中文乱码 Spring Boot默认UTF-8,但浏览器可能非UTF-8 返回JSON一般无问题;若需返回HTML,在Controller加 produces = "text/html;charset=utf-8"

下一步学习建议(结合求职)

1. 别急着啃书!先做小项目

  • 推荐项目:待办事项(Todo List)、天气查询API、博客系统(只有增删改查)
  • 每完成一个功能,就往GitHub提交一次代码——这是你求职时最有力的作品集!

2. 书籍推荐(按顺序)

  • 入门:《Spring Boot实战》(Craig Walls)→ 只看前6章
  • 进阶:《Spring微服务实战》→ 面试常问微服务
  • 不要一上来就读《Spring源码深度解析》!我见过太多人因此放弃。

3. 面试高频考点

  • Spring Boot自动配置原理(知道@EnableAutoConfiguration即可)
  • 如何读取配置文件(@Value@ConfigurationProperties
  • RESTful API设计规范(GET/POST/PUT/DELETE用途)

4. 我的避坑忠告

  • 不要试图一次性学完所有Spring生态(Security, Data, Cloud…)
  • 先掌握 Web + JPA/MyBatis + 单元测试,就能应付80%初级岗位
  • 每天写代码 > 看10小时视频

最后的话

60分钟到了,你已经亲手做出了一个能响应HTTP请求的Java后端服务。这比90%只停留在“收藏教程”阶段的人走得更远。

记住:Spring Boot不是魔法,只是帮你省去了重复劳动。真正的核心能力,是在理解基础上灵活运用。

如果你觉得这篇对你有帮助,欢迎去B站搜“阿哲后端课”,我会持续更新实战导向的Java/Spring系列。下期预告:《用Spring Boot + Vue3 搭建全栈待办清单》。

坚持写代码,下一个拿到offer的,就是你!

评论 0

最热最新
暂无评论
内存泄漏君Lv.1
0
影响力
0
文章
0
粉丝