Spring Boot入门教程:60分钟快速上手

清醒开发者
2025-06-13 21:08
阅读 429

开篇:Spring Boot是什么?它能做什么?

开篇:Spring Boot是什么?它能做什么?

你可能听过“Java”这门编程语言,它是企业级应用开发中最常用的工具之一。而今天我们要学的 Spring Boot,就是让Java开发更加快速、更加简单的一套框架。

简单来说:

Spring Boot 是一个基于 Java 的框架,它可以帮你快速创建一个 Web 应用(比如网站后台)或微服务(比如微信支付接口这种独立的小功能模块),而不需要你从头搭建所有的基础结构。

举个例子:
如果你要开一家小餐馆,Spring 就像是厨房设备清单和菜谱,你需要一项项去准备、安装、配置。而 Spring Boot 则是“厨房一体机”,你只需要按下按钮就能开始做饭了。

学习目标

  • 搭建好 Java 和 Spring Boot 的开发环境
  • 理解 Spring Boot 的几个核心概念
  • 编写第一个 Web 接口并运行出来
  • 了解常见错误与解决方法
  • 明确下一步学习的方向

第一步:环境准备 —— 打好地基才能盖楼

第一步:环境准备 —— 打好地基才能盖楼

API接口文档-2

在写代码之前,我们先准备好开发 Spring Boot 所需的基本工具:

1. 安装 Java 开发环境(JDK)

Spring Boot 基于 Java 运行,所以你得先安装 JDK。

  • 推荐版本:JDK 8 或 JDK 17
  • 下载地址:https://adoptium.net/zh-CN/temurin/releases/
  • 安装后,在命令行中输入:
    java -version
    
    如果输出类似以下内容,说明安装成功:
    openjdk version "17.0.9" 2023-10-17
    

2. 安装 IDE(推荐 IntelliJ IDEA 社区版)

IDE 是我们写代码的地方,就像程序员的办公桌。

3. 创建第一个 Spring Boot 项目(使用 Spring Initializr)

访问官网:https://start.spring.io/

设置如下选项:

字段 内容
Project Maven
Language Java
Spring Boot Version 3.x 最新版(如 3.1.5)
Group com.example
Artifact demo
Name demo
Packaging Jar
Java 17

选择依赖项:

  • Spring Web(用于构建Web服务)

点击按钮:“Generate”

下载解压后导入到 IntelliJ IDEA 中即可开始编码!


第二步:理解 Spring Boot 的几个关键概念

第二步:理解 Spring Boot 的几个关键概念

Spring Boot 有很多术语,但其实它们都很容易理解。

1. Controller(控制器)

你可以把它看作是一个接待员,它的任务是接收用户发来的请求,并返回结果。

举个例子:你发来一个请求 “/hello”,控制器就要回应 “你好!”

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello() {
        return "你好,Spring Boot!";
    }
}

这段代码表示当访问 /hello 地址时,会返回一句话。

2. Service(服务层)

这是程序中真正的“办事的人”。比如你要做加法运算、查数据库等操作,都在这里。

虽然初学阶段可以暂时不写 Service,但了解它是很有帮助的。

3. 启动类(Application)

这个类就像是整个程序的开关,Spring Boot 需要它来启动服务器。

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

只要你运行这个类,Spring Boot 就会在本地打开一个 Web 服务器,等着别人访问你的接口。


第三步:实战演练 —— 创建一个打招呼的接口

第三步:实战演练 —— 创建一个打招呼的接口

我们现在动手做一个最简单的项目:用户访问某个网址,服务器就回复一句欢迎语。

Step 1:找到主启动类

你应该已经看到这个类了(生成项目时自动创建的):

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

右键点击该类 → Run 'DemoApplication.main()',启动服务器。

控制台应该显示:

Tomcat started on port(s): 8080 (http)

这意味着服务器已经启动,监听端口是 8080

Step 2:编写第一个接口

接下来,新建一个类叫 GreetingController.java,内容如下:

package com.example.demo;

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

@RestController
public class GreetingController {

    @GetMapping("/greet")
    public String greetUser() {
        return "欢迎你来到 Spring Boot 教程!";
    }
}

保存并运行项目后,在浏览器中访问:

http://localhost:8080/greet

你会看到页面显示一句话:“欢迎你来到 Spring Boot 教程!”

🎉 你已经完成了第一个 Spring Boot 接口!


第四步:进阶一下 —— 让接口带参数

现在,我们来让接口变得更有意思一点:根据用户传入的名字打招呼。

修改你的 GreetingController 如下:

@GetMapping("/hello")
public String hello(@RequestParam String name) {
    return "你好," + name + "!";
}

现在访问:

http://localhost:8080/hello?name=张三

你会看到返回:“你好,张三!”

💡 注意点:

  • @RequestParam 表示这是一个 URL 中传过来的参数。
  • 你可以给默认值,比如:
    public String hello(@RequestParam(defaultValue = "访客") String name)
    

第五步:把数据变成 JSON 返回(前后端交互必备)

很多时候我们希望返回的数据不仅仅是字符串,而是结构化的数据,例如 JSON。

比如返回这样的格式:

{
  "message": "你好",
  "user": "李四"
}

怎么做呢?我们可以定义一个类,然后返回它。

Step 1:定义一个数据类

新建 GreetingResponse.java

public class GreetingResponse {
    private String message;
    private String user;

    // 必须要有无参构造函数
    public GreetingResponse() {}

    public GreetingResponse(String message, String user) {
        this.message = message;
        this.user = user;
    }

    // getter 和 setter 方法(后面加上)
    public String getMessage() { return message; }
    public void setMessage(String message) { this.message = message; }
    public String getUser() { return user; }
    public void setUser(String user) { this.user = user; }
}

Step 2:修改控制器

修改你的 hello() 方法如下:

@GetMapping("/json")
public GreetingResponse jsonHello(@RequestParam String user) {
    return new GreetingResponse("你好", user);
}

访问:

http://localhost:8080/json?user=李四

你会看到返回:

{
  "message": "你好",
  "user": "李四"
}

恭喜你,你已经掌握了基本的后端 API 构建能力!


新手常问问题解答

负载均衡配置-1

Q1:启动时报错:"Port 8080 was already in use"

说明你的电脑上的 8080 端口已经被其他程序占用了。

解决方法: 编辑 application.properties 文件(位于 src/main/resources),添加一行:

server.port=8081

这样你的服务就会运行在 8081 端口了。

Q2:找不到 Controller 类

确保你的 Controller 类上加了 @RestController 注解,并且放在正确的包路径下,否则 Spring Boot 不会识别它。

Q3:修改代码后需要重新运行吗?

是的,Spring Boot 默认不会热更新代码。如果你希望自动重载,可以添加依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

下一步学习建议

完成今天的课程后,你可以继续深入学习以下几个方向:

主题 介绍
数据库连接 使用 MySQL 或 PostgreSQL 存储数据
RESTful API 设计 学习 GET / POST / PUT / DELETE 等方法
Spring Security 实现登录认证、权限管理
日志管理 使用 Logback / SLF4J 记录日志
Spring Boot 多环境配置 开发 / 测试 / 生产不同配置管理
部署项目 打包成 jar 包,部署到服务器运行

也可以尝试做一些小项目:

  • 博客系统
  • 用户注册登录系统
  • 留言板
  • 天气预报查询接口

总结

今天我们学会了:

  • 如何创建并运行一个 Spring Boot 项目
  • 什么是 Controller,如何响应 HTTP 请求
  • 如何接收参数并返回 JSON 数据
  • 常见错误及解决办法
  • 下一步学习的推荐方向

你现在已经有能力开发简单的 Web 接口了!接下来就是多练习、多实践,逐步成为一个合格的后端开发工程师。

加油吧,未来的开发者!🚀

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝