版本:基于 Java 17 & Java 21 LTS

在掌握了 Java 的核心语法和设计模式后,最后的拼图就是学会使用现代 Java 的工业级标准框架:Spring Boot 3


1. 为什么是 Spring Boot 3?

Spring Boot 3 是一个重大的版本升级,它要求最低使用 Java 17,并且完美支持 Java 21

核心优势:

  • 约定优于配置 (Convention over Configuration):极大地减少了 XML 和配置代码。

  • 内嵌服务器:自带 Tomcat/Jetty,打成 JAR 包即可运行。

  • AOT (Ahead-of-Time):支持 Native Image (GraalVM),启动时间从秒级降到毫秒级。


2. 快速起步:第一个 REST API

创建一个 Spring Boot 项目通常使用 start.spring.io

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoApplication {

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

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

3. 依赖注入 (DI) 与 控制反转 (IoC)

Spring 的核心就是管理对象的生命周期。

import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;

@Service
public class OrderService {
    public void processOrder() { System.out.println("处理订单中..."); }
}

@RestController
public class OrderController {
    // 现代推荐:构造器注入
    private final OrderService orderService;

    public OrderController(OrderService orderService) {
        this.orderService = orderService;
    }

    @GetMapping("/order")
    public String order() {
        orderService.processOrder();
        return "订单已受理";
    }
}

4. 数据库访问:Spring Data JPA

Spring Data 让我们几乎不用写 SQL 就能完成 CRUD。

import jakarta.persistence.*;
import org.springframework.data.jpa.repository.JpaRepository;

@Entity
public record User(@Id @GeneratedValue Long id, String name) {} // 使用 Record 作为实体

public interface UserRepository extends JpaRepository<User, Long> {
    List<User> findByName(String name); // 自动生成的查询方法
}

5. 展望:Spring Cloud 与微服务架构

当你的单体应用变得庞大时,Spring Cloud 提供了构建微服务架构的全套方案:

  • 服务注册与发现 (Eureka/Nacos)

  • 配置中心 (Config/Apollo)

  • 服务网关 (Gateway)

  • 断路器 (Resilience4j)


系列结语

恭喜你!我们一共编写了 13 篇 Java 现代开发系列博客。

[01-基础语法][13-现代框架实战],你已经系统地走过了现代 Java 开发的完整链路。

保持好奇,保持编码!Java 的未来依然灿烂。