[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, 入门教程

相关推荐
颜进强4 分钟前
前端看后端 15:什么是 DNS?
前端·后端·ai编程
文艺理科生8 分钟前
LangChain.js-v1-记忆管理最佳实践
前端·javascript·后端
麻雀聊技术9 分钟前
一重启 AI 就失忆?用 Spring AI + PostgreSQL 3步搞定“长期记忆”持久化(附完整代码)
java·spring·openai
子兮曰16 分钟前
Elysia vs Hono 完整性能对比:Bun 专属优化还是跨平台通用,2026 实测数据给出的答案
前端·后端·typescript
码农进化录19 分钟前
Java 程序员的 AI 进化论 | LangChain4j 入门,Java 开发者的 AI 应用框架
java·spring boot·openai
小满zs37 分钟前
Go语言第七章(Map)
后端·go
番茄炒鸡蛋加糖1 小时前
中级核心技术1--MySQL/Java 并发
java·数据库·mysql
Undoom1 小时前
我用豆包Seed-Evolving搞了个高中物理可视化工具,结果被自己的高中物理水平整破防了
后端
木叶丸1 小时前
从 Loop 到 Graph:AI 智能体协作系统工程指南
前端·后端·架构
he___H1 小时前
Spring-Configur注解
java·spring