第一章:初识与环境起航 (Introduction)

1.1 Spring Boot 是什么?(核心哲学:约定优于配置)

在 Spring Boot 诞生之前,开发者常常被淹没在繁琐的 XML 配置文件和依赖冲突中。Spring Boot 的出现并非为了取代 Spring,而是为了让 Spring 更好用

核心哲学:约定优于配置 (Convention over Configuration)

这是 Spring Boot 的灵魂。简单来说,框架会假设你有一套常用的开发习惯:

  • 默认配置: 如果你引入了 Web 依赖,它就默认你想要一个内嵌的 Tomcat,并自动配置好端口。

  • 自动化: 你不再需要手动写大量的 bean 配置,只要遵循它的命名和路径规则,它就能自动扫描并装配。

一句话总结: Spring Boot = Spring 框架 + 自动化配置 + 内嵌服务器 + 起步依赖(Starter)。


1.2 快速起步:Spring Initializr 详解

Spring Initializr 是官方提供的“项目生成器”,它是开启 Spring Boot 项目最优雅的方式。

关键参数说明:

  1. Project: 推荐选择 Maven(国内主流)或 Gradle

  2. Language: Java。

  3. Spring Boot Version: 选择最新稳定版(避免选择带有 Snapshot 或 Milestone 字样的版本)。

  4. Project Metadata:

    • Group: 通常为公司域名反写(如 com.example)。

    • Artifact: 项目名称(如 demo)。

  5. Dependencies: 这是精华所在。点击 ADD DEPENDENCIES,搜索并添加 Spring Web(构建 Web 接口的基础)。


1.3 详解目录结构与构建工具

生成并导入 IDE(IntelliJ IDEA)后,你会看到一个标准的 Maven 结构:

目录解析

  • src/main/java: 存放所有的 Java 源代码。

    • 启动类: 默认生成 DemoApplication.java,它是程序的入口,带有 @SpringBootApplication 注解。

  • src/main/resources:

    • static/: 存放静态资源(JS、CSS、图片)。

    • templates/: 存放模板文件(如 Thymeleaf、FreeMarker)。

    • application.properties: 核心配置文件,用于修改端口、数据库连接等。

  • pom.xml: Maven 的配置文件。

构建工具:为什么是 Maven?

Maven 通过 Starter(起步依赖) 解决了版本冲突问题。例如,你只需要引入 spring-boot-starter-web,它就会自动帮你拉取:

  • Spring MVC

  • Tomcat(嵌入式)

  • Jackson(JSON 处理)

  • Validator(数据校验)


1.4 编写第一个 Hello World 接口

让我们跳过复杂的配置,直接动手感受 Spring Boot 的快感。

第一步:创建 Controller

在启动类同级目录下创建一个 controller 包,并新建 HelloController.java

package com.example.demo.controller;

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

@RestController // 相当于 @Controller + @ResponseBody
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello Spring Boot! 这是我的第一个接口。";
    }
}

第二步:运行项目

回到 DemoApplication.java,右键点击 Run

第三步:验证结果

打开浏览器,访问:http://localhost:8080/hello

注意: > 1. 请确保你的 Controller 类位于启动类所在的包或其子包下,否则 Spring 无法扫描到它。 2. 如果 8080 端口被占用,请在 application.properties 中添加 server.port=8081

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐