Spring Boot入门教程2025:从零开始,5分钟快速搭建你的第一个Web应用
** 还在被繁琐的XML配置折磨?Spring Boot让你“开箱即用”,告别配置地狱,专注于业务逻辑!

Meta描述: 这是一份2025年最新、最易懂的Spring Boot入门教程,本文将通过手把手教学,带你从零开始,使用Spring Boot快速搭建一个Web应用,并解释其核心原理,告别配置地狱,拥抱快速开发!
前言:为什么我们需要Spring Boot?
作为一名Java开发者,你是否曾经历过这样的场景:
- “配置地狱”:想搭建一个简单的Web项目,需要配置
web.xml、spring-mvc.xml、applicationContext.xml……各种XML文件让人眼花缭乱。 - “版本兼容噩梦”:Spring、Spring MVC、MyBatis……每个框架的版本都需要仔细匹配,一个版本不对,整个项目就可能启动失败。
- “依赖管理繁琐”:每次创建新项目,都要去网上搜索一堆Maven或Gradle依赖,生怕漏掉一个。
如果你的答案是“是”,那么Spring Boot就是你的救星。
Spring Boot并不是对Spring功能上的增强,而是一种快速构建Spring应用的全新方式,它由Pivotal团队创建,其核心设计理念是:

约定优于配置
Spring Boot会为你做好大部分默认配置,你只需要遵循它的“约定”,就能以最小的代价、最快的速度,将一个Spring应用跑起来,它就像一个“超级智能”的框架,让你能专注于业务代码本身,而不是无休止的配置。
准备工作:你的开发环境
在开始之前,请确保你的电脑上已经安装了以下工具:
- JDK 8+:Spring Boot要求Java 8或更高版本,你可以通过
java -version命令检查。 - Maven 3.6+ 或 Gradle 6.8+:这两个是主流的Java项目构建工具,本教程以Maven为例,Gradle的配置逻辑类似。
- 一个你喜欢的IDE:强烈推荐IntelliJ IDEA(社区版免费且强大)或Eclipse,IDEA对Spring Boot的支持尤其出色。
- Git (可选):用于代码版本管理。
第一个Spring Boot项目:三步走战略
让我们用最“笨”也最直接的方式——手动创建,来感受Spring Boot的魅力,这种方式能让你更深刻地理解项目结构。

第1步:使用Spring Initializr生成项目骨架
访问 Spring Initializr 官网,这是Spring Boot官方的项目生成器。
- Project: 选择
Maven Project - Language: 选择
Java - Spring Boot: 选择一个稳定的版本,
2.1(当前最新稳定版)。 - Project Metadata:
- Group:
com.example(默认即可) - Artifact:
demo(你的项目名) - Name:
demo - Description:
Demo project for Spring Boot - Package name:
com.example.demo - Packaging:
Jar - Java: 选择你安装的JDK版本,如
17
- Group:
- Dependencies (依赖): 在依赖搜索框中输入并添加以下两个依赖:
Spring Web: 用于构建Web应用,包含Tomcat服务器和Spring MVC。Spring Boot DevTools: 开发工具,可以实现代码修改后自动重启应用,极大提升开发效率。
点击 "GENERATE" 按钮,浏览器会自动下载一个名为 demo.zip 的压缩包。
第2步:解压并导入IDE
- 解压
demo.zip到你喜欢的目录。 - 打开你的IDE(以IntelliJ IDEA为例),选择
File -> Open,然后选中解压后的demo文件夹。 - IDEA会自动识别这是一个Maven项目,并开始下载所需的依赖,耐心等待下载完成。
第3步:编写代码并运行
最激动人心的时刻到了!我们将编写一个可以返回“Hello, Spring Boot!”的Web接口。
-
找到主程序类: 在
src/main/java/com/example/demo目录下,你会发现一个名为DemoApplication.java的文件,这就是Spring Boot的启动类,它有一个特殊的注解@SpringBootApplication。package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }@SpringBootApplication是一个复合注解,它包含了@Configuration,@EnableAutoConfiguration, 和@ComponentScan,是Spring Boot的“魔法”之源。 -
创建Controller: 在
com.example.demo包下,新建一个Java类,命名为HelloController。package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; // @RestController 是一个组合注解,相当于 @Controller + @ResponseBody // 它告诉Spring,这个类中的所有方法返回的数据都直接写给浏览器,而不是解析成视图。 @RestController public class HelloController { // @GetMapping 注解映射HTTP GET请求,"/hello"是请求路径 @GetMapping("/hello") public String hello() { return "Hello, Spring Boot! 欢迎来到新世界!"; } } -
运行项目: 右键点击
DemoApplication.java文件,选择Run 'DemoApplication.main()'。你会在控制台看到类似下方的日志,当看到
Started DemoApplication in X.XXX seconds (JVM running for Y.YYY)时,恭喜你,你的Spring Boot应用已经成功启动了!... . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.1) ... 2025-05-20 10:30:00.123 INFO --- [ main] o.s.b.w.e.t.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2025-05-20 10:30:00.456 INFO --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 2.5 seconds (JVM running for 3.1) -
访问接口: 打开你的浏览器,访问地址:http://localhost:8080/hello
如果一切正常,你将看到页面上清晰地显示着:
Hello, Spring Boot! 欢迎来到新世界!
看到了吗?我们没有写一行XML配置,仅仅通过几个注解,就成功创建并运行了一个Web应用! 这就是Spring Boot的威力。
核心原理解析:Spring Boot的“魔法”在哪里?
依赖管理:起步依赖
在pom.xml文件中,你会发现一个核心依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
这个spring-boot-starter-web就是起步依赖,它不是一个功能性的依赖,而是一个“依赖描述符”,当你引入它时,它会自动帮你“传递性”地引入所有Web开发需要的依赖,
spring-webspring-webmvctomcat-embed-core(嵌入式Tomcat服务器)
你再也不用关心这些依赖的具体版本号,Spring Boot会为你管理好所有版本的兼容性。
自动配置:约定优于配置
这是Spring Boot最核心的特性。@EnableAutoConfiguration注解是自动配置的开关。
启动时,Spring Boot会根据你项目中引入的依赖(比如我们引入了spring-boot-starter-web),自动为你配置好一个Web应用所需的各种Bean。
- 看到
spring-boot-starter-web-> 自动配置一个DispatcherServlet。 - 看到
spring-boot-starter-data-jpa-> 自动配置一个EntityManagerFactory和TransactionManager。 - 看到
spring-boot-starter-actuator-> 自动配置各种监控端点。
这些配置都是在类路径下扫描,根据条件(@Conditional)来决定是否生效的,你可以通过在src/main/resources目录下创建一个application.properties或application.yml文件来覆盖这些默认配置。
修改默认端口号:
application.properties
server.port=8081
再次启动项目,访问 http://localhost:8081/hello 即可。
总结与展望
恭喜你!你已经成功完成了Spring Boot的入门之旅,并掌握了:
- Spring Boot的核心思想:约定优于配置,快速开发。
- 如何创建一个Spring Boot项目:通过Spring Initializr或IDEA插件。
- 如何构建一个简单的RESTful API:使用
@RestController和@GetMapping。 - Spring Boot的两大核心特性:起步依赖 和 自动配置。
这只是Spring Boot世界的冰山一角,你可以探索更多激动人心的内容:
- 模板引擎:使用Thymeleaf或FreeMarker开发传统网页。
- 数据持久化:集成MyBatis或Spring Data JPA,操作数据库。
- 安全控制:集成Spring Security,实现用户认证与授权。
- 微服务:学习Spring Cloud,构建分布式系统。
Spring Boot的大门已经为你敞开,未来的路还很长,但有了这个强大的工具,你的开发之旅将会无比顺畅。立即动手,开始你的Spring Boot探索之旅吧!
文章底部(SEO与用户引导)
相关搜索推荐
- Spring Boot教程
- Spring Boot实战项目
- Spring Boot与MyBatis整合
- Spring Boot面试题
- Spring Boot DevTools配置
- Spring Boot Actuator
- 如何学习Spring Boot
- Spring Boot核心注解详解
评论互动
你觉得Spring Boot最吸引你的特性是什么?是告别XML配置,还是自动化的便利?欢迎在评论区留言分享你的看法!
如果你觉得这篇教程对你有帮助,别忘了点赞、收藏和转发,让更多需要的朋友看到它!
