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

一只会写码的猫
2025-06-18 14:28
阅读 286

开篇:Spring Boot到底是什么?

开篇:Spring Boot到底是什么?

大家好,欢迎来到《Spring Boot入门教程:60分钟快速上手》!

如果你是第一次接触Java后端开发,你可能听说过一个叫“Spring”的框架。而今天我们要学习的 Spring Boot,正是建立在这个著名框架之上的简化版。

简单来说:

Spring Boot 是 Java 后端开发的一个简化工具包,它让开发者可以更轻松、更快地搭建和运行后端服务(比如网站后台、接口服务等)。

它的核心思想是——约定优于配置。也就是说,以前你要写很多配置文件才能启动一个简单的Web服务,而现在Spring Boot已经帮你做了这些工作,只需要几个简单的步骤就能开始编码了!


环境准备:搭建你的第一个Spring Boot开发环境

环境准备:搭建你的第一个Spring Boot开发环境

这一部分我们一步一步来,确保所有人都能顺利完成准备。你不需要了解每一步背后的原理,先把东西跑起来再说!

所需工具清单(推荐版本)

工具名 版本建议 用途
Java JDK 17或更高 运行Java程序
IntelliJ IDEA(社区版即可) 最新版 编程用的IDE
Maven 自带在IDEA中 依赖管理工具

步骤一:安装JDK

  1. 访问官网下载 https://jdk.java.net/
  2. 根据自己的操作系统(Windows/macOS/Linux)选择对应的压缩包
  3. 解压并设置环境变量 JAVA_HOME 和添加到系统路径中

验证是否安装成功:

java -version

输出类似内容即为安装成功:

openjdk version "17.0.5" 2022-10-18

步骤二:下载并安装IntelliJ IDEA

  1. 前往 https://www.jetbrains.com/idea/download/
  2. 下载 Community版(免费)
  3. 安装完成后打开

步骤三:创建你的第一个Spring Boot项目(自动完成)

使用 Spring 官方提供的生成器 https://start.spring.io/ 来创建项目模板:

  1. 打开链接
  2. 选择如下参数:
    • Project: Maven
    • Language: Java
    • Spring Boot Version: 3.x 最新版
    • Dependencies:
      • Spring Web(用于构建网页服务)
      • Spring Boot DevTools(热重启工具)

点击按钮 Generate 下载 .zip 文件

  1. 解压项目,并用 IntelliJ IDEA 打开

等待 IDEA 加载完成(首次加载会比较慢,因为要下载Maven依赖)


核心概念:Spring Boot里的关键知识点(通俗讲解)

虽然Spring Boot帮助我们省去了大量的配置,但有些基础概念我们还是要理解一下。

1. 什么是“Starter”?为什么需要它?

Spring Boot 将常用的库封装成了一个个模块,叫做 Starter,你可以把它想象成是一个“功能插件”。

例如:

  • spring-boot-starter-web → 支持创建Web接口(比如API)
  • spring-boot-starter-data-jpa → 支持操作数据库

你想要某个功能,就直接加上这个 Starter 依赖就可以了。

2. 什么是@SpringBootApplication?

这是Spring Boot项目的“启动开关”,相当于程序的大门。

你可以在主类上看到这个注解:

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

这段代码的意思是:
“嘿,Spring Boot!从这里开始运行吧!”

3. 什么是Controller?它有什么作用?

Controller 就像一个 “接待员”,负责接收用户的请求(例如浏览器访问某个地址),然后返回响应结果。

举个最简单的例子:

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

上面这段代码的意思是:

当用户访问 /hello 路径时,返回一句问候语:“Hello, Spring Boot!”


实战项目:写一个天气查询接口

现在我们动手做一个小项目:实现一个简易的“天气查询接口”。当你访问 /weather?city=北京 时,就会返回一段模拟天气数据。

数据库设计模型-2

第一步:创建 Controller 类

src/main/java/com/example/demo 下新建一个类文件 WeatherController.java,内容如下:

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

@RestController
public class WeatherController {

    @GetMapping("/weather")
    public String getWeather(@RequestParam String city) {
        // 模拟不同城市的天气数据
        switch (city) {
            case "北京": return "北京今天的天气是晴天,气温20°C";
            case "上海": return "上海今天的天气是多云,气温22°C";
            default: return "抱歉,暂不支持的城市:" + city;
        }
    }
}

这段代码的功能是:

  • 当你访问 /weather?city=北京,会返回北京天气信息
  • 如果城市不是“北京”或“上海”,会返回提示信息

第二步:启动项目

点击 IDEA 中右上角绿色三角形按钮运行项目,控制台会输出:

Started DemoApplication in 3.2 seconds (process running on port 8080)

说明服务已经启动成功,默认监听本地 http://localhost:8080

第三步:测试接口

打开浏览器或 Postman,输入地址:

http://localhost:8080/weather?city=北京

你会看到页面显示:

北京今天的天气是晴天,气温20°C

恭喜!你已经完成了你的第一个Spring Boot接口服务!


常见问题解答(FAQ)

刚学的时候肯定会遇到各种问题,以下是新手常问的一些问题和解决方法:

Q1: 项目无法启动,报错找不到main类?

可能是你在创建项目的时候没有正确导入,或者主类未被识别。

解决办法:

  • 确保你的主类中有 @SpringBootApplication 注解
  • 确保你的类名是 DemoApplication.java
  • 在IDE中重新执行一次 Maven -> Reload Project

Q2: 程序启动成功,但是访问不了接口?

常见原因:

  • 端口被占用(默认是 8080)
  • 浏览器输入的路径有误

解决办法:

  • 查看控制台是否有错误信息,如 Address already in use
  • 修改配置文件 application.properties 中的端口:
server.port=9090

这样你就可以通过 http://localhost:9090/weather 访问接口了。


Q3: 接口中文乱码怎么办?

Spring Boot 默认对中文支持良好,但如果出现乱码,请检查以下几点:

  • 确保浏览器URL使用UTF-8格式编码
  • 添加全局响应配置:
@Configuration
public class EncodingConfig implements WebMvcConfigurer {
    @Bean
    public HttpMessageConverter<String> responseBodyConverter() {
        return new StringHttpMessageConverter(StandardCharsets.UTF_8);
    }


![缓存策略对比-1](https://code-guide.oss.shanghai.autogptai.club/common/file/download?name=date2025061814/b38db1fd-cc54-41b9-afd2-8dfbcf01e846.jpg)


    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(responseBodyConverter());
    }
}

学习建议:下一步怎么继续深入学习?

你现在应该对 Spring Boot 有了基本的认识,也具备了开发简单接口的能力。接下来你可以沿着以下几个方向继续学习:

方向一:深入掌握Spring Boot功能模块

  • 数据库连接:学习Spring Data JPA 或 MyBatis
  • 用户认证:学习Spring Security
  • 异常处理:统一异常返回格式
  • 日志记录:使用Logback / SLF4J
  • 文件上传与下载
  • 接口文档自动化生成:Swagger UI

方向二:结合前端做完整项目

你可以尝试把Spring Boot当作后端服务,用HTML、Vue.js、React.js等前端技术进行对接,构建完整的Web应用。

方向三:部署上线

  • 学习如何打包Spring Boot应用(jar/war)
  • 本地运行 vs 生产环境的区别
  • 部署到服务器(Linux、Docker等)

总结:你现在掌握了什么?

✅ 了解了Spring Boot的基本概念和作用
✅ 成功搭建了开发环境并运行了一个项目
✅ 创建了第一个RESTful风格的接口
✅ 遇到了一些问题并学会了简单的排查方法
✅ 明确了未来学习的方向

你已经迈出了进入Java后端世界的第一大步!继续保持热情,持续实践,你会发现编程真的越来越有意思!

如果你觉得这篇教程对你有用,请不要吝啬点赞或收藏。有任何问题也可以留言,我会第一时间回复!


附录:完整项目结构示例

demo/
├── pom.xml                 # Maven项目描述文件
├── src/
│   └── main/
│       ├── java/
│       │   └── com.example.demo/
│       │       ├── DemoApplication.java
│       │       └── WeatherController.java
│       └── resources/
│           └── application.properties
└── README.md

Happy coding!

评论 0

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