1. 引言Spring 是 Java 领域最受欢迎的企业级应用开发框架之一。它通过提供全面的编程和配置模型简化了企业级 Java 应用的开发使其更加模块化、可测试和可维护。无论是构建微服务、Web 应用还是数据访问层Spring 都提供了强大的支持。本文将带你从零开始了解 Spring 的核心概念并动手搭建你的第一个 Spring Boot 应用。2. Spring 核心概念在深入代码之前理解 Spring 的几个核心概念至关重要控制反转 (IoC)这是 Spring 的基石。传统上对象自己负责创建和管理其依赖。而在 IoC 模式下这个责任被转移给了“容器”Spring IoC 容器。你只需定义好对象Bean及其依赖关系容器负责实例化、组装和管理它们的生命周期。依赖注入 (DI)这是实现 IoC 的一种具体方式。Spring 容器通过构造函数、Setter 方法或字段直接将依赖对象“注入”到目标对象中而不是让目标对象自己去查找或创建依赖。面向切面编程 (AOP)允许你将跨越应用程序多个模块的横切关注点如日志、事务、安全模块化。AOP 让你能专注于核心业务逻辑而将通用功能切面分离出来。Spring BootSpring 的一个子项目旨在简化 Spring 应用的初始搭建和开发过程。它通过“约定大于配置”的原则提供了自动配置、内嵌 Web 服务器如 Tomcat和“起步依赖”Starter让你能快速创建独立运行的、生产级的 Spring 应用。3. 环境准备开始之前请确保你的开发环境已就绪Java 开发工具包 (JDK)Spring Boot 3.x 需要 JDK 17 或更高版本。推荐使用 JDK 17 或 21。构建工具可以选择 Maven 或 Gradle。本文将以 Maven 为例。集成开发环境 (IDE)推荐使用 IntelliJ IDEA社区版或旗舰版、Spring Tools Suite (STS) 或 VS Code。网络连接用于从 Maven 中央仓库下载依赖。4. 创建第一个 Spring Boot 应用我们将使用 Spring Initializr 来快速生成项目骨架这是 Spring 官方提供的项目初始化工具。步骤 1访问 Spring Initializr打开浏览器访问 https://start.spring.io。步骤 2配置项目在页面上进行如下配置Project: MavenLanguage: JavaSpring Boot: 选择最新的稳定版本如 3.x.xGroup:com.example(你的组织域名可自定义)Artifact:demo(你的项目名可自定义)Name:demoDescription:Demo project for Spring BootPackage name:com.example.demoPackaging: JarJava: 17 或 21步骤 3添加依赖在Dependencies区域点击 “ADD DEPENDENCIES”搜索并添加Spring Web: 用于构建 Web 应用包含 RESTful API 支持。步骤 4生成项目点击页面底部的GENERATE按钮下载生成的demo.zip文件。步骤 5导入项目解压demo.zip文件并用你的 IDE如 IntelliJ IDEA打开解压后的文件夹。5. 项目结构与代码导入项目后你会看到类似如下的目录结构demo/ ├── src/ │ ├── main/ │ │ ├── java/com/example/demo/ │ │ │ ├── DemoApplication.java // 主启动类 │ │ │ └── controller/ // (待创建) 控制器层 │ │ └── resources/ │ │ ├── static/ // 静态资源 │ │ ├── templates/ // 模板文件 │ │ └── application.properties // 配置文件 │ └── test/ // 测试代码 └── pom.xml // Maven 配置文件步骤 6创建 REST 控制器在src/main/java/com/example/demo/目录下新建一个controller包并在其中创建HelloController.java文件packagecom.example.demo.controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;RestController// 声明这是一个 REST 控制器publicclassHelloController{GetMapping(/hello)// 映射 HTTP GET 请求到 /hello 路径publicStringsayHello(){returnHello, Spring Boot!;}}步骤 7运行应用找到src/main/java/com/example/demo/DemoApplication.java文件这是 Spring Boot 应用的入口。直接运行其中的main方法。packagecom.example.demo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication// 核心注解启用自动配置和组件扫描publicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}控制台会输出大量日志当你看到类似Tomcat started on port(s): 8080 (http)的信息时说明应用已成功启动。步骤 8测试应用打开浏览器或使用curl命令访问http://localhost:8080/hello。你将看到页面上显示Hello, Spring Boot!恭喜你的第一个 Spring Boot 应用已经成功运行。6. 核心注解解析让我们回顾一下代码中用到的几个关键注解SpringBootApplication这是一个组合注解包含了SpringBootConfiguration、EnableAutoConfiguration和ComponentScan。它标记了主配置类并开启了 Spring Boot 的自动配置和组件扫描。RestController组合了Controller和ResponseBody。它告诉 Spring 这个类是一个控制器并且其所有方法的返回值都应直接写入 HTTP 响应体而不是跳转到视图。GetMapping是RequestMapping(method RequestMethod.GET)的简写。它将 HTTP GET 请求映射到特定的处理方法上。