[TEST] Spring Boot 快速入门指南 - 1769246843980

Spring Boot 快速入门指南

前言

如果你已经熟悉传统的 Spring 框架,那么你一定体会过配置 XML 文件的繁琐:applicationContext.xml、web.xml、各种 bean 配置......Spring Boot 的出现彻底改变了这一切。它通过"约定优于配置"的理念,让开发者能够快速搭建生产级别的 Spring 应用。

Spring Boot 核心特性

Spring Boot 相比传统 Spring 的核心改进:

  1. 自动配置(Auto-Configuration):根据类路径中的依赖自动配置 Spring 应用
  2. 起步依赖(Starter Dependencies):一站式依赖管理,无需关心版本兼容
  3. 内嵌服务器:无需部署 WAR 包到外部 Tomcat,直接运行 JAR 即可
  4. 生产就绪特性:内置健康检查、监控指标等企业级功能

传统 Spring 应用
大量 XML 配置
手动管理依赖版本
部署到外部容器
Spring Boot 应用
零配置/注解驱动
Starter 自动管理
内嵌容器/独立运行

快速创建项目

方式一:使用 Spring Initializr(推荐)

访问 https://start.spring.io/,选择以下配置:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.2.x(最新稳定版)
  • Dependencies: Spring Web

点击 Generate 下载项目压缩包,解压后导入 IDE 即可。

方式二:Maven 手动创建

pom.xml 中添加 Spring Boot 父依赖:

xml 复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.1</version>
</parent>

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

核心注解详解

@SpringBootApplication

这是 Spring Boot 的核心注解,它是三个注解的组合:

java 复制代码
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

等价于传统 Spring 的配置

  • @Configuration:标记为配置类
  • @EnableAutoConfiguration:启用自动配置
  • @ComponentScan:自动扫描当前包及子包

@RestController

组合了 @Controller@ResponseBody,直接返回 JSON 数据:

java 复制代码
@RestController
@RequestMapping("/api")
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

对比传统 Spring :无需在每个方法上添加 @ResponseBody,也无需配置 JSON 转换器。

@Value 与 @ConfigurationProperties

@Value:注入单个配置项

java 复制代码
@Value("${app.name}")
private String appName;

@ConfigurationProperties:批量注入配置(推荐)

java 复制代码
@ConfigurationProperties(prefix = "app")
@Component
public class AppConfig {
    private String name;
    private String version;
    // getter/setter
}

运行示例

完整示例代码

创建一个简单的 RESTful API:

java 复制代码
@RestController
@RequestMapping("/users")
public class UserController {

    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id) {
        return new User(id, "张三", "zhangsan@example.com");
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        // 实际项目中应保存到数据库
        return user;
    }
}

@Data
@AllArgsConstructor
class User {
    private Long id;
    private String name;
    private String email;
}

启动流程

内嵌 Tomcat ApplicationContext SpringApplication main() 内嵌 Tomcat ApplicationContext SpringApplication main() 监听 8080 端口 run(Application.class) 加载配置文件 创建 Spring 容器 自动配置生效 扫描并注册 Bean 启动内嵌服务器 应用启动完成

运行与测试

  1. 启动应用
bash 复制代码
mvn spring-boot:run
  1. 测试接口
bash 复制代码
# 查询用户
curl http://localhost:8080/users/1

# 创建用户
curl -X POST http://localhost:8080/users \
  -H "Content-Type: application/json" \
  -d '{"name":"李四","email":"lisi@example.com"}'

配置文件

Spring Boot 支持 application.propertiesapplication.yml(推荐):

yaml 复制代码
server:
  port: 8080

spring:
  application:
    name: spring-boot-demo

app:
  name: 我的应用
  version: 1.0.0

总结

Spring Boot 通过以下方式极大简化了 Spring 应用开发:

传统 Spring Spring Boot
繁琐的 XML 配置 注解驱动,零配置
手动管理依赖版本 Starter 自动管理
部署到外部容器 内嵌容器,独立运行
需要手动配置 MVC 自动配置 Web 环境

对于已经熟悉 Spring 的开发者,Spring Boot 的学习成本极低,但能带来巨大的效率提升。建议从一个简单的 Web 项目开始,逐步体验自动配置的便利性。

下一步学习方向

  • Spring Boot 整合 MyBatis/JPA
  • Spring Boot Actuator 监控
  • Spring Boot 微服务实践

作者 : xiexu
标签: Java, Spring Boot, 入门教程

相关推荐
阿蒙Amon2 小时前
C#每日面试题-简述this和base的作用
java·面试·c#
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 基于SSM的航班管理系统的设计与实现为例,包含答辩的问题和答案
java
indexsunny2 小时前
互联网大厂Java求职面试实战:Spring Boot、微服务与Redis缓存技术解析
java·spring boot·redis·微服务·面试·电商·技术栈
程序员小白条2 小时前
面试 Java 基础八股文十问十答第二十一期
java·开发语言·数据库·面试·职场和发展
fanruitian2 小时前
k8s pv pvc 持久化存储
java·linux·kubernetes
哪里不会点哪里.2 小时前
Spring MVC 四种核心传参形式详解
java·spring·mvc
Anastasiozzzz2 小时前
常见限流算法--【令牌桶】【漏桶】【固定窗口】【滑动窗口】
java·redis·后端·算法·面试
马尔代夫哈哈哈2 小时前
Spring Mvc(二)
java·spring boot·spring·servlet·java-ee
橙露2 小时前
C语言执行四大流程详解:从源文件到可执行程序的完整生命周期
java·c语言·开发语言