SpringBoot Web 入门学习笔记

一、这一章在讲什么

这一章主要学习 SpringBoot Web 的基础开发流程,包括 Spring 生态、SpringBoot 项目创建、项目结构以及最简单的 Web 请求处理。
SpringBoot 的核心目标是:让 Java Web 开发变得更简单、更快速。
以前开发 JavaWeb 需要手动配置 Tomcat、XML、各种 jar 包,而 SpringBoot 基本实现了“开箱即用”。
本章重点是学会:

  • 创建 SpringBoot 项目
  • 启动 Web 项目
  • 编写 Controller
  • 接收浏览器请求
  • 返回响应结果

本章本质就是:

浏览器请求
→ SpringBoot 接收
→ Java 方法处理
→ 返回结果

二、核心概念

1. Spring 生态

是什么

Spring 不是单独一个框架,而是一整套开发生态。

包括:

项目 作用
Spring Framework Spring 核心框架
Spring Boot 简化 Spring 开发
Spring Data 数据库操作
Spring Security 安全权限
Spring Cloud 微服务开发

为什么引入

传统 Java 开发:

  • 配置复杂
  • jar 包多
  • Tomcat 部署麻烦

Spring 生态就是为了解决这些问题。

原理

Spring 提供各种模块:

需要什么功能
→ 导入对应模块

SpringBoot 则负责自动配置。

易混淆点

很多初学者会混淆:

SpringSpringBoot

关系:

SpringBoot 基于 Spring

SpringBoot 本质是:

Spring 的快速开发脚手架

2. SpringBoot

是什么

SpringBoot 是快速开发 Spring 项目的框架。

作用

核心作用:

  • 自动配置
  • 快速启动
  • 简化开发
  • 内嵌 Tomcat

原理

SpringBoot 启动时会:

  • 扫描项目
  • 创建 Spring 容器
  • 自动配置组件
  • 启动 Tomcat

易混淆点

很多人以为:

SpringBoot = 新框架

实际上:

SpringBoot 本质还是 Spring

只是帮你省掉大量配置。

3. Controller

是什么

专门处理请求的类。

例如:

@RestController  
public class HelloController {  
  
    @RequestMapping("/hello")  
    public String hello(){  
        return "hello springboot";  
    }  
}

作用

负责:

接收请求
→ 处理逻辑
→ 返回结果

原理

SpringBoot 启动时会扫描:

@RestController

然后建立:

请求路径
→ Java方法

的映射关系。

易混淆点

Controller 只是“请求入口”。

真正复杂业务通常放在:

Service

层。

4. @RequestMapping

是什么

请求路径映射注解。

作用

用于指定:

哪个 URL 对应哪个方法

原理

例如:

@RequestMapping("/hello")

浏览器访问:

/hello

SpringBoot 就会调用对应方法。

易混淆点

它写的是:

请求路径

不是方法名。

5. pom.xml

是什么

Maven 核心配置文件。

作用

负责:

  • 管理依赖
  • 下载 jar 包
  • 项目构建

原理

例如:

<dependency>

表示导入一个功能模块。

SpringBoot 大量功能都来自依赖。

易混淆点

很多人以为:

代码决定功能

其实:

依赖才决定项目具备什么能力

三、重难点

1. 为什么运行 main() 就能启动网站?

结论

因为 SpringBoot 内嵌了 Tomcat。

原因

运行:

SpringApplication.run(...)

时:

  • Spring 容器启动
  • Tomcat 启动
  • Web 服务启动

所以浏览器能访问。

通俗比喻

以前:

自己买发动机组装车

现在:

SpringBoot 直接给你整车

2. @RestController 的本质

结论

告诉 Spring:

这是一个请求处理类

原因

SpringBoot 启动时会扫描注解。

扫描到后:

这个类就能接收网页请求

小例子

相当于贴标签:

“我是控制器”

3. 请求是如何找到方法的?

结论

通过:

@RequestMapping

建立路径映射。

原因

SpringBoot 内部维护:

URL
→ Java方法

对应关系。

小例子

访问:

/hello

SpringBoot 就会找到:

hello()

执行。

4. 为什么 Controller 可能失效?

结论

可能没有被 SpringBoot 扫描到。

原因

SpringBoot 默认:

只扫描启动类所在包及子包

小例子

启动类:

com.example

Controller 最好放:

com.example.controller

四、代码理解

最小 Web 示例

class HelloController {  
  
    @RequestMapping("/hello")  
    public String hello(){  
        return "hello springboot";  
    }  
}

关键代码解释

第一行

@RestController

说明:

这是请求处理类

第二行

@RequestMapping("/hello")

说明:

访问 /hello 时执行此方法

方法返回值

return "hello springboot";

浏览器最终会显示:

hello springboot

启动类

@SpringBootApplication
public class DemoApplication {

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

}

核心作用

SpringApplication.run(...)

负责:

  • 启动 Spring
  • 启动 Tomcat
  • 启动 Web 服务

五、易错点

1. 忘记加 @RestController

结果:

浏览器访问失败

2. Controller 不在扫描范围

导致:

接口无法访问

3. 8080 端口被占用

项目启动失败。

4. 忘记导入 Web 依赖

没有:

Spring Web

就无法开发 Web 项目。

5. 路径写错

例如:

@RequestMapping("hello")

规范应写:

@RequestMapping("/hello")

六、记忆口诀 / 通俗比喻

SpringBoot 核心口诀

运行 main
网站启动
访问路径
执行方法

Controller 理解

Controller 就是“前台接待”

浏览器来请求:

Controller 接待
→ 调用方法
→ 返回结果

@RequestMapping

路径和方法绑定器

七、应用

实际开发中怎么用?

SpringBoot Web 是:

  • 后端接口开发基础
  • 前后端分离基础
  • 企业 Java 开发基础

以后:

  • 登录
  • 注册
  • 查询数据
  • 文件上传
  • 支付接口

本质都是:

浏览器/前端发请求
→ Controller接收
→ Java处理
→ 返回数据

例如:

淘宝商品查询
微信登录
外卖订单接口

本质都属于 SpringBoot Web 请求处理。

八、最终总结

SpringBoot 是基于 Spring 的快速开发框架,核心目标是简化 Java Web 开发。
SpringBoot 内嵌 Tomcat,因此运行 main 方法就能启动网站。
Controller 用于处理请求,@RequestMapping 用于建立 URL 和 Java 方法的映射关系。
SpringBoot 启动时会自动扫描组件并完成自动配置。
本章最核心的本质就是:

请求路径
→ 找到方法
→ 执行代码
→ 返回结果

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐