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

灰度发布员
2025-06-22 21:00
阅读 672

开篇:Spring Boot是什么,能用来做什么?

开篇:Spring Boot是什么,能用来做什么?

你有没有想过,开发一个功能完整的网站或者后台服务,可能只需要几十行代码就能完成?这听起来不可思议,但这就是 Spring Boot 带给开发者的优势。

简单来说,Spring Boot 是一个基于 Java 的框架,它帮助我们快速构建、部署和运行后端应用程序。你可以把它理解为一个“自动装配工具包”,原本需要写很多配置代码才能启动的项目,现在它都能帮你自动搞定。

想象一下,你要开一家咖啡店:

  • 没有Spring Boot时:你得自己买咖啡机、磨豆机、热水壶……还得自己组装。
  • 有了Spring Boot:别人已经为你准备好了所有设备,并且帮你调好参数,你只要放咖啡豆,就能一键出咖啡!

所以,Spring Boot非常适合想快速搭建Java Web项目的新手,也广泛应用于企业级项目开发。


环境准备:开始编码前你需要准备什么?

环境准备:开始编码前你需要准备什么?

在正式编写Spring Boot程序之前,我们需要先准备好开发环境。不用担心,下面的操作虽然看起来多,其实都很简单,一步步来就行。

所需工具清单:

工具 作用
JDK(Java Development Kit) 编写和运行Java程序的基础
IntelliJ IDEA 或 Eclipse 编写代码的集成开发环境(IDE)
Maven 管理项目依赖和构建项目
Spring Initializr 网站 快速生成Spring Boot项目模板

第一步:安装JDK

  1. 访问官网:https://www.oracle.com/java/technologies/javase-downloads.html
  2. 下载适合你系统的 JDK 8 或 JDK 11
  3. 安装完成后,在终端或命令行中输入以下命令查看版本:
java -version

如果输出类似如下内容,说明安装成功:

openjdk version "11.0.15" 2022-07-19

⚠️ 注意:有些系统可能默认使用JRE,不是JDK。请确认是JDK。


第二步:安装IDE(推荐用IntelliJ IDEA)

  1. 访问 https://www.jetbrains.com/idea/download/
  2. 下载社区版(免费)
  3. 安装并打开

第三步:学会使用Maven(自动下载依赖)

Maven可以理解为一个“智能仓库管理员”,它会根据你的需求自动下载Java项目需要的各种“材料”(依赖库)。不用手动一个个去网上找。

查看是否已安装Maven:

mvn -v

如果你看到类似下图信息,说明已经安装好了:

Apache Maven 3.8.4 (...)

如果没有安装,请访问官方下载页面:https://maven.apache.org/download.cgi


第四步:创建第一个Spring Boot项目模板

推荐使用 https://start.spring.io 这个网站自动生成Spring Boot项目模板,非常方便。

操作步骤如下:

  1. 访问网站
  2. 填写以下信息:
配置项 示例值
Project Maven
Language Java
Spring Boot Version 推荐选 2.7.x(稳定)或 3.x(新)
Group com.example
Artifact demo
Name DemoApplication
Packaging Jar
Java Version 11 或 17
  1. 添加依赖(点击 “Add Dependencies”):

    • Spring Web(用于构建Web应用)
    • Thymeleaf(可选,网页模板引擎)
    • Spring Data JPA(可选,用于数据库操作)
  2. 最后点击“Generate”按钮,下载zip压缩包,解压到本地文件夹


第五步:导入项目到IDE中

以 IntelliJ IDEA为例:

  1. 启动IDEA
  2. 点击 “Open” -> 选择你刚刚解压的文件夹
  3. 选择pom.xml作为导入项目入口
  4. 等待Maven自动下载所需的库

一切顺利的话,你会看到如下结构:

src
├── main
│   ├── java
│   │   └── com.example.demo
│   │       ├── DemoApplication.java
│   │       └── controller
│   ├── resources
│       ├── application.properties
│       └── static
└── test

核心概念:什么是Spring Boot里的关键组件?

核心概念:什么是Spring Boot里的关键组件?

在开始写代码前,我们来看看几个核心概念,它们是你理解Spring Boot的关键。

1. Controller(控制器)

你可以把Controller理解为“快递员”,它的职责是从浏览器接收请求,然后转交给服务器处理,最后再将结果返回给浏览器。

示例代码:

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String sayHello() {
        return "你好,这是你的第一个Spring Boot接口!";
    }
}

当你访问地址 http://localhost:8080/hello,就会看到这个消息。


2. Service层(业务逻辑层)

Service 是处理具体逻辑的地方,比如登录验证、查询数据库等。它就像咖啡店里真正负责泡咖啡的人。

示例代码:

@Service
public class GreetingService {
    public String greet(String name) {
        return "欢迎光临," + name;
    }
}

然后在Controller中调用它:

@RestController
public class HelloController {

    private final GreetingService greetingService;

    public HelloController(GreetingService greetingService) {
        this.greetingService = greetingService;
    }

    @GetMapping("/greet/{name}")
    public String greetUser(@PathVariable String name) {
        return greetingService.greet(name);
    }
}

访问 http://localhost:8080/greet/小明,你会看到:

欢迎光临,小明

3. @RestController 和 @GetMapping 的含义

这些都是Spring Boot的注解,是用来告诉程序“该做些什么”的标签。

  • @RestController:表示这个类中的方法返回的是数据(JSON),而不是HTML网页。
  • @GetMapping("/路径"):指定哪个方法对应哪个URL路径。

4. 自动装配原理(Auto Configuration)

这是Spring Boot最神奇的地方之一:它能够自动帮你配置各种功能模块(如数据库连接、Web服务器等),不需要手动编写大量XML配置文件。

例如,当你添加了 Spring Web 依赖,Spring Boot就会自动帮你启动一个内嵌的Tomcat服务器。


5. application.properties 配置文件

这个文件就像是项目的说明书,我们可以在这里修改一些配置项,比如:

server.port=8081
spring.application.name=my-first-app

上面这段配置表示将服务器运行在端口8081,而不是默认的8080。


实战项目:60分钟写出第一个Spring Boot网站

实战项目:60分钟写出第一个Spring Boot网站

接下来我们将用60分钟时间完成一个简单的个人博客系统,实现以下几个功能:

✅ 显示首页欢迎语
✅ 提供一个文章列表页
✅ 支持访问单篇文章详情
✅ 使用静态资源展示图片


第1步:创建Controller显示主页

新建一个控制器类,放在 controller 文件夹下:

@RestController
public class HomeController {

    @GetMapping("/")
    public String homePage() {
        return "<h1>欢迎来到我的博客</h1>";
    }
}

运行程序后,访问 http://localhost:8080 ,你会看到:

欢迎来到我的博客

第2步:展示文章列表页

我们模拟几个文章对象:

public class Article {
    private int id;
    private String title;
    private String author;
    
    // getter/setter 构造器略
}

再创建一个文章控制器:

@RestController
@RequestMapping("/articles")
public class ArticleController {

    private List<Article> articles = Arrays.asList(
            new Article(1, "为什么学习编程很重要", "李老师"),
            new Article(2, "Spring Boot到底有多强大", "王工程师")
    );

    @GetMapping
    public List<Article> getArticles() {
        return articles;
    }

    @GetMapping("/{id}")
    public Article getArticleById(@PathVariable int id) {
        return articles.stream()
                .filter(a -> a.getId() == id)
                .findFirst()
                .orElseThrow(() -> new RuntimeException("未找到文章"));
    }
}

访问 /articles 可以看到两个文章信息:

[
  { "id": 1, "title": "为什么学习编程很重要", "author": "李老师" },
  { "id": 2, "title": "Spring Boot到底有多强大", "author": "王工程师" }
]

第3步:引入静态资源(CSS / 图片)

有时候我们想加点样式或者显示一张图片。Spring Boot允许我们将这些资源放在 resources/static 文件夹下。

例如:

  1. 创建目录 resources/static/images
  2. 放入一张图片 logo.png
  3. 在浏览器访问:http://localhost:8080/images/logo.png 即可查看

还可以通过HTML文件直接引用这些资源,但需要注意我们现在只是返回字符串,不能写HTML。稍后再介绍如何支持网页渲染。


第4步:添加日志输出

为了更清晰地知道程序发生了什么事,我们可以在Controller中加入日志输出。

引入日志:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@RestController
public class LoggingController {
    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @GetMapping("/log")
    public String logMessage() {
        logger.info("用户访问了日志接口");
        return "已记录日志";
    }
}

运行程序访问 /log,你会在控制台看到如下信息:

INFO ... LoggingController - 用户访问了日志接口

第5步:打包成可运行的Jar文件

完成了基本的功能之后,我们就可以将项目打包成一个独立的jar文件:

mvn package

进入 target/ 目录,执行:

java -jar demo-0.0.1-SNAPSHOT.jar

这样就不再需要IDE也能运行你的Spring Boot项目啦!


常见问题解答(FAQ)

Q1:启动时报错“No running Tomcat server”怎么办?

A:Spring Boot自带Tomcat,只要你添加了Spring Web依赖就不会有问题。检查是否遗漏依赖,或修改过端口号导致冲突。


Q2:@RestController和@Controller有什么区别?

A:@RestController = @Controller + @ResponseBody。前者直接返回数据,后者一般用于返回视图(HTML页面)。


Q3:我怎么知道某个依赖有没有被正确加载?

A:可以通过观察Maven是否报红,也可以查看 mvn dependency:tree 查看所有依赖树。


Q4:为什么访问不到自己的接口?

A:常见原因包括:

  • URL路径拼写错误
  • 控制器没有被Spring扫描到(记得加上注解)
  • 端口号不是8080(查看application.properties)

学习建议:下一步学什么?

服务器部署方案-1

恭喜你完成了第一段Spring Boot之旅!接下来的学习方向如下:

推荐学习路线:

  1. 学习Spring Boot整合数据库(JPA + MySQL/H2)
  2. 学习Spring Boot安全机制(Spring Security)
  3. 掌握RESTful API设计规范
  4. 了解Thymeleaf模板引擎(如果你想写HTML页面)
  5. 接触Spring Boot与前后端分离开发(配合Vue.js / React)

推荐学习资料:

资源类型 名称 描述
官方文档 https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ 权威文档
免费课程 Bilibili《Spring Boot实战》 视频讲解
书籍 《Spring Boot实战派》 初学者友好
练手项目 GitHub搜索关键词 springboot example 看别人是怎么写的

负载均衡配置-2


结束语

你现在已经掌握了Spring Boot的核心知识,甚至已经具备了一个基础后端开发者的技能。继续学习,你会发现越来越多有趣的玩法——比如用Spring Boot做小程序接口、管理系统、爬虫、邮件通知等等……

记住一句话:编程就是不断练习+解决问题的过程。

希望这篇《Spring Boot入门教程:60分钟快速上手》能成为你踏上Java后端之路的第一块跳板。🚀


🎉 恭喜你完成本章学习!继续前进吧,未来的架构师!

评论 0

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