还记得用传统Spring开发一个简单的Web应用要经历什么吗?

引入十几个依赖、配置web.xml、编写Spring配置文件、声明Bean、打包WAR、部署到外置Tomcat……光这些准备工作,就能劝退一大批新手。

而今天,我们用Spring Boot做同样的事情。

只需要几分钟,你就能感受到什么叫“开箱即用”,什么叫“一键启动”。

一、我们要做什么?

一个最简单的Web应用:

  • 启动服务后,浏览器访问 http://localhost:8080/hello

  • 页面返回 Hello World

没有复杂业务,没有数据库交互,只有一个目标:让项目跑起来

二、传统Spring开发VS Spring Boot开发

传统Spring要做的

  1. 手动引入 spring-corespring-contextspring-webmvctomcat-embed 等一堆依赖,还要处理版本冲突

  2. 配置 web.xml,配置 dispatcherServlet

  3. 编写 spring-mvc.xml,配置包扫描、注解驱动

  4. 开发Controller

  5. 打包成WAR,部署到外置Tomcat

  6. 启动Tomcat,访问测试

Spring Boot要做的

  1. 用IDEA创建一个Spring Boot项目,勾选一个起步依赖

  2. 写一个Controller

  3. 运行main方法

没了。真的没了。

三、开始动手:创建Spring Boot项目

1. 新建项目

打开IDEA,选择 New Module → Spring Initializr(Spring Boot)

这是IDEA内置的Spring Boot项目创建工具,会帮我们生成所有基础结构。

2. 填写项目信息

  • Groupcom.itheima

  • Artifactspring-boot-quickstart(默认即可)

  • Language:Java

  • Type:Maven

  • PackagingJar(重要!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,以及statictemplates目录

四、开发业务代码

在启动类所在的包下,新建一个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,到独立完成一个完整的管理系统。

Logo

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

更多推荐