3.SpringBoot快速上手:从零搭建你的第一个Web应用

目录

一、为什么要学SpringBoot?

二、环境准备

[2.1 IDEA版本要求](#2.1 IDEA版本要求)

[2.2 安装Spring Boot Helper插件(社区版必装)](#2.2 安装Spring Boot Helper插件(社区版必装))

三、Maven项目管理工具

[3.1 什么是Maven?](#3.1 什么是Maven?)

[3.2 Maven核心功能](#3.2 Maven核心功能)

[3.3 配置国内源(提速必备)](#3.3 配置国内源(提速必备))

四、创建第一个SpringBoot项目

[4.1 使用IDEA创建](#4.1 使用IDEA创建)

[4.2 项目结构一览](#4.2 项目结构一览)

[4.3 核心注解解析](#4.3 核心注解解析)

[五、编写第一个接口:Hello World](#五、编写第一个接口:Hello World)

[5.1 创建Controller](#5.1 创建Controller)

[5.2 启动并访问](#5.2 启动并访问)

[5.3 请求响应流程解析](#5.3 请求响应流程解析)

六、常见错误排查指南

[6.1 404 Not Found](#6.1 404 Not Found)

[6.2 500 Internal Server Error](#6.2 500 Internal Server Error)

[6.3 连接失败(Connection Refused)](#6.3 连接失败(Connection Refused))

七、进阶技巧

[7.1 修改端口号](#7.1 修改端口号)

[7.2 热部署(开发利器)](#7.2 热部署(开发利器))

[7.3 多环境配置](#7.3 多环境配置)

八、总结


从零开始,一步步掌握SpringBoot的核心用法,轻松搭建出属于自己的第一个Web应用。


一、为什么要学SpringBoot?

SpringBoot是Spring框架的"脚手架",它的诞生就是为了简化Spring程序的开发。打个比方:以前盖房子要自己搬砖、和水泥,效率低还容易出错;现在有了脚手架,直接站在架子上干活,又快又稳。

SpringBoot带来的核心好处:

  • 快速集成:添加依赖就能用,省去繁琐的XML配置

  • 内置Tomcat:无需额外配置Web服务器,一键运行

  • 约定大于配置:默认规则帮你省掉大量样板代码

  • 生态丰富:与Spring全家桶无缝衔接


二、环境准备

2.1 IDEA版本要求

社区版要求2021.1至2022.1.4版本,专业版无要求。如果IDEA版本不在这个范围,建议卸载重装,注意一定要删除注册表。

2.2 安装Spring Boot Helper插件(社区版必装)

专业版IDEA自带Spring Initializr,社区版需要手动安装插件。

步骤:

  1. 访问插件官网,选择对应IDEA版本的免费版下载

  2. IDEA中通过File -> Settings -> Plugins -> 安装本地插件

  3. 重启IDEA


三、Maven项目管理工具

3.1 什么是Maven?

Maven是一个项目管理工具,通过pom.xml文件自动管理依赖(jar包),再也不用手动下载和添加了。

3.2 Maven核心功能

项目构建:提供标准化的构建流程,包括编译、测试、打包、发布。

常用命令:

  • mvn clean:清理

  • mvn compile:编译

  • mvn test:测试

  • mvn package:打包成jar或war

依赖管理:只需在pom.xml中配置依赖坐标,Maven就会自动下载并引入jar包,还会自动处理依赖传递。

例如引入MySQL驱动:

复制代码
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.30</version>
</dependency>

3.3 配置国内源(提速必备)

中央仓库在国外,下载速度较慢。换成阿里云镜像可以大幅提升下载速度。

修改settings.xml文件,添加以下内容:

复制代码
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

同时记得配置新项目的Settings,这样以后创建的项目都会自动使用国内源。


四、创建第一个SpringBoot项目

4.1 使用IDEA创建

  1. File -> New -> Project -> Spring Initializr

  2. 填写项目信息:Group设为com.example,Artifact设为demo,Java Version选择17

  3. 选择SpringBoot版本(推荐3.x)

  4. 添加依赖:勾选Spring Web

  5. 点击Finish,等待下载完成

4.2 项目结构一览

复制代码
demo/
├── src/
│   ├── main/
│   │   ├── java/com/example/demo/
│   │   │   └── DemoApplication.java    启动类
│   │   └── resources/
│   │       ├── static/                  静态资源(CSS/JS/HTML)
│   │       ├── templates/               模板文件
│   │       └── application.properties   配置文件
│   └── test/
├── pom.xml                              Maven配置文件
└── target/                              编译输出目录

4.3 核心注解解析

复制代码
@SpringBootApplication
// 这是一个组合注解,包含以下三个:
// @SpringBootConfiguration:声明配置类
// @EnableAutoConfiguration:开启自动配置
// @ComponentScan:开启组件扫描

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

五、编写第一个接口:Hello World

5.1 创建Controller

在com.example.demo包下新建UserController.java:

复制代码
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @RequestMapping("/sayHi")
    public String sayHi() {
        return "Hello, SpringBoot!";
    }
}

5.2 启动并访问

  1. 运行DemoApplication的main方法

  2. 打开浏览器,访问 http://127.0.0.1:8080/sayHi

  3. 页面显示 Hello, SpringBoot!

5.3 请求响应流程解析

浏览器输入URL后,DNS解析域名为127.0.0.1(本机),通过端口8080找到Tomcat服务器,路径/sayHi匹配到UserController.sayHi()方法,执行方法后返回字符串,浏览器渲染显示。


六、常见错误排查指南

6.1 404 Not Found

原因:访问的资源不存在。

排查步骤:

  1. 检查URL是否拼写正确

  2. 检查注解是否写错,如@RequestMapping写成@RequesMapping

  3. 检查Controller是否被Spring扫描到

6.2 500 Internal Server Error

原因:服务器代码执行异常。

解决方法:查看控制台日志,找到异常堆栈,根据提示定位到具体代码行。例如出现ArithmeticException: / by zero,检查除法运算。

6.3 连接失败(Connection Refused)

原因:Tomcat未启动或端口被占用。

排查步骤:

  1. 检查启动日志是否有报错

  2. 使用netstat -ano | findstr :8080检查端口是否被占用

  3. 检查防火墙是否拦截


七、进阶技巧

7.1 修改端口号

在application.properties中配置:

复制代码
server.port=9090

7.2 热部署(开发利器)

添加依赖:

复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

修改代码后自动重启,告别手动重启的烦恼。

7.3 多环境配置

创建不同的配置文件:

  • application-dev.properties:开发环境配置

  • application-prod.properties:生产环境配置

在主配置文件application.yml中激活:

复制代码
spring:
  profiles:
    active: dev

八、总结

通过本文的学习,可以掌握:

  1. Maven的基本使用和国内源配置

  2. SpringBoot项目的创建和结构

  3. 编写第一个Web接口

  4. 常见错误的排查方法

SpringBoot的设计理念是约定大于配置,让开发者专注于业务逻辑而非繁琐的配置。掌握了这些基础,就可以继续深入学习Spring全家桶的其他成员了。

相关推荐
我不会起名字32211 小时前
未接入最终读上限的参数:`websocketMaxMsgLen` 与 12.5 倍差距
后端·websocket·go·即时通讯·im·故障排查
一条Go11 小时前
接收方合并去重:同一个人为什么只该收到一次通知
后端·架构·github
Lank_M12 小时前
白底都占八成,PNG 为何只在图表页赢过 JPG
前端
张一凡9312 小时前
给 Coding Agent 加一道"架构闸门":Jin 是如何做到"先审架构、再写代码、不漂移"的
前端·后端·agent
Linye12 小时前
AI 写的 HTML 原型全是空壳?聊聊真实 DOM 交互避坑
前端·人工智能
Jvav练习生12 小时前
AI Agent 总在关键时刻“失忆”翻车?一文讲透上下文工程(附可运行 Python 代码)
后端
ZANE12 小时前
纯前端实现的 PDF 与图片互相转换工具技术实现
前端
leo在掘金12 小时前
只挂了11小时,5000台开发机被塞进SSH公钥
后端·架构
xjz184212 小时前
Rust 运算符优先级:括号不只用来改变顺序
后端