Spring Boot 3 入门实战:从零开发第一个Web应用,体验什么叫“开箱即用”

还记得用传统Spring开发一个简单的Web应用要经历什么吗?
引入十几个依赖、配置web.xml、编写Spring配置文件、声明Bean、打包WAR、部署到外置Tomcat……光这些准备工作,就能劝退一大批新手。
而今天,我们用Spring Boot做同样的事情。
只需要几分钟,你就能感受到什么叫“开箱即用”,什么叫“一键启动”。
一、我们要做什么?
一个最简单的Web应用:
-
启动服务后,浏览器访问
http://localhost:8080/hello -
页面返回
Hello World
没有复杂业务,没有数据库交互,只有一个目标:让项目跑起来。
二、传统Spring开发VS Spring Boot开发
传统Spring要做的
-
手动引入
spring-core、spring-context、spring-webmvc、tomcat-embed等一堆依赖,还要处理版本冲突 -
配置
web.xml,配置dispatcherServlet -
编写
spring-mvc.xml,配置包扫描、注解驱动 -
开发Controller
-
打包成WAR,部署到外置Tomcat
-
启动Tomcat,访问测试
Spring Boot要做的
-
用IDEA创建一个Spring Boot项目,勾选一个起步依赖
-
写一个Controller
-
运行main方法
没了。真的没了。
三、开始动手:创建Spring Boot项目
1. 新建项目
打开IDEA,选择 New Module → Spring Initializr(Spring Boot)。
这是IDEA内置的Spring Boot项目创建工具,会帮我们生成所有基础结构。
2. 填写项目信息
-
Group:
com.itheima -
Artifact:
spring-boot-quickstart(默认即可) -
Language:Java
-
Type:Maven
-
Packaging:
Jar(重要!Spring Boot内置Tomcat,不需要打WAR包)
3. JDK版本(重要!)
Spring Boot 3.0及以上版本,最低要求JDK 17。
如果你用的是JDK 8,项目创建后大概率会报错。这里一定要选17及以上版本。
4. 选择依赖
-
Spring Boot版本:选择3.0以上的最新版本(比如3.1.2)
-
依赖:找到
Web分类,勾选Spring Web
这一步,IDEA会自动在pom.xml中引入spring-boot-starter-web起步依赖。这个依赖会帮我们引入所有Web开发需要的Jar包,包括Spring MVC、内嵌Tomcat等。
5. 项目结构
创建完成后,IDEA会自动生成以下内容:
-
pom.xml:继承spring-boot-starter-parent,管理所有起步依赖的版本 -
src/main/java:启动类SpringBootQuickstartApplication,带有@SpringBootApplication注解 -
src/main/resources:配置文件application.properties,以及static和templates目录
四、开发业务代码
在启动类所在的包下,新建一个controller包,然后创建HelloController:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello World";
}
}
就这么简单。
-
@RestController:标识这是一个REST风格的控制器,返回值会直接输出到页面 -
@RequestMapping("/hello"):映射请求路径 -
方法返回字符串,就是页面看到的内容
五、启动项目
找到启动类 SpringBootQuickstartApplication,运行main方法。
观察控制台日志:
Tomcat started on port(s): 8080 (http)
Spring Boot已经自动启动了内嵌的Tomcat,端口是8080,并且自动注册了我们的Controller。
六、访问测试
打开浏览器,输入:http://localhost:8080/hello
页面上出现 Hello World。
成功了。
七、背后发生了什么?
1. 起步依赖
spring-boot-starter-web 是一个起步依赖。它像一个“大礼包”,里面包含了:
-
Spring MVC
-
内嵌Tomcat
-
Jackson(JSON处理)
-
其他Web开发需要的依赖
只需要引入这一个,所有需要的依赖都会被传递进来。版本也不用你操心,父工程spring-boot-starter-parent已经统一管理好了。
2. 自动配置
为什么我们没有配置 dispatcherServlet,没有配置包扫描,它就能工作?
因为Spring Boot启动时会自动扫描启动类所在的包及其子包,自动注册Controller、Service等组件。这一切都是“约定大于配置”的体现。
3. 内嵌容器
我们没有安装Tomcat,没有打WAR包,为什么项目能直接运行?
因为Spring Boot把Tomcat打包进了应用。启动时,它会自动启动内嵌的Tomcat,并完成项目部署。
八、总结:Spring Boot到底帮我们省了什么?
| 工作项 | 传统Spring | Spring Boot |
|---|---|---|
| 依赖管理 | 手动引入十几个依赖,处理版本冲突 | 一个起步依赖搞定 |
| 配置文件 | web.xml、spring-mvc.xml | 不需要,全靠自动配置 |
| Bean声明 | 手动声明 | 自动注入 |
| 容器部署 | 安装Tomcat,打WAR包部署 | 内嵌Tomcat,Jar包直接运行 |
| 启动方式 | 启动外部Tomcat | 运行main方法 |
Spring Boot没有给我们增加新的代码,反而帮我们极大简化了Spring应用程序的构建。
写在最后
第一个Spring Boot程序跑通了。现在,你可以打开IDEA,亲手创建一下这个项目。
记住几个关键点:
-
JDK 17+
-
打包选Jar
-
引入
spring-boot-starter-web -
写一个
@RestController的Controller -
运行启动类的main方法
当你看到控制台输出 Tomcat started,浏览器出现 Hello World 时,你就完成了Spring Boot入门的第一步。
接下来的课程,我们会一步步深入,学习配置文件、自动配置原理、整合MyBatis、添加Redis缓存……从一个Hello World,到独立完成一个完整的管理系统。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)