SpringBoot入门:快速构建第一个Web应用

目录

前言

一、SpringBoot简介与优势

1.1 什么是SpringBoot?

1.2 对比传统Spring MVC开发

二、使用Spring Initializr创建项目

2.1 通过官网创建

2.2 使用IDEA创建(快捷方式)

三、编写第一个Hello World接口

3.2 启动应用

3.3 测试接口

四、内嵌Tomcat原理分析

4.1 内嵌服务器如何生效?

4.2 启动流程核心代码

4.3 与传统Tomcat部署对比

五、注意事项与常见问题


前言

SpringBoot作为Java领域最流行的微服务框架之一,凭借其“约定优于配置”的理念,极大简化了Spring应用的初始搭建和开发过程。本文将手把手带你创建一个SpringBoot项目,并实现第一个REST接口,同时解析其核心机制。

一、SpringBoot简介与优势

1.1 什么是SpringBoot?

SpringBoot是Pivotal团队基于Spring框架推出的快速开发脚手架,核心目标是:

  • 零XML配置:通过注解和默认配置简化开发

  • 内嵌Web服务器:无需部署WAR包,直接运行JAR

  • 起步依赖:提供预置依赖组合(如spring-boot-starter-web

  • 生产级特性:监控、健康检查、外部化配置等开箱即用

1.2 对比传统Spring MVC开发

特性Spring MVCSpringBoot
项目创建手动配置web.xml、pom依赖Spring Initializr一键生成
内嵌服务器需部署到Tomcat/Jetty内置Tomcat/Jetty/Undertow
配置复杂度需显式配置组件自动配置(按需加载)
依赖管理手动管理版本冲突

starter统一管理依赖

二、使用Spring Initializr创建项目

2.1 通过官网创建

  1. 访问 https://start.spring.io

  2. 填写项目信息:

    Project: Maven
    Language: Java
    Spring Boot: 3.x (建议选择最新稳定版)
    Group: com.example
    Artifact: demo
    Dependencies: Spring Web

2.2 使用IDEA创建(快捷方式)

  1. 打开IntelliJ IDEA → File → New → Project

  2. 选择Spring Initializr,填写项目信息

  3. 勾选Spring Web依赖

  4. 完成创建后,项目结构如下:

demo
├── src
│   ├── main
│   │   ├── java/com/example/demo
│   │   │   └── DemoApplication.java  # 启动类
│   │   └── resources
│   │       ├── application.properties # 配置文件
│   │       └── static/               # 静态资源
├── pom.xml                          # Maven依赖管理

三、编写第一个Hello World接口

com.example.demo包下新建HelloController.java

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, SpringBoot!";
    }
}
  • @RestController:组合了@Controller@ResponseBody,直接返回JSON数据

  • @GetMapping:等价于@RequestMapping(method = RequestMethod.GET)

3.2 启动应用

打开启动类DemoApplication.java,运行main方法:

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

 控制台输出以下日志表示启动成功:

Hello, SpringBoot!

3.3 测试接口

浏览器访问 http://localhost:8080/hello,页面显示:

Hello, SpringBoot!

四、内嵌Tomcat原理分析

4.1 内嵌服务器如何生效?

关键依赖spring-boot-starter-web包含:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

SpringBoot通过条件装配自动配置Tomcat:

  • 当检测到类路径存在ServletTomcat类时

  • 创建TomcatServletWebServerFactory实例

4.2 启动流程核心代码

SpringApplication.run()方法中:

  1. 创建ApplicationContext

  2. 调用createWebServer()初始化Web服务器

  3. 加载ServletFilter(如DispatcherServlet)

  4. 启动Tomcat并绑定端口

4.3 与传统Tomcat部署对比

传统方式SpringBoot内嵌
部署形式WAR包部署到Tomcat/webapps目录直接执行JAR(含内嵌Tomcat)
服务器配置修改server.xmlapplication.properties配置
多环境适配需手动配置不同环境Profile一键切换

五、注意事项与常见问题

  1. 端口冲突
    若8080端口被占用,在application.properties中添加:

    server.port=8081

   2.依赖缺失
        确保pom.xml中包含: 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 3.启动类位置
启动类需放在根包下,否则组件扫描可能失效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY...yy

你的鼓励将是我创作的最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值