Spring Boot 3.x 是 Spring Boot 的最新版本,带来了许多新功能和改进,使得开发现代化的 Java 应用程序更加高效。以下是关于 Spring Boot 3.x 的详细使用介绍:
确保你已经安装了 JDK 和 Maven:
创建一个 Spring Boot 3.x 项目:
spring init --dependencies=web my-spring-boot-app
cd my-spring-boot-app
pom.xml
以下是一个 Spring Boot 3.x 项目的 pom.xml
配置示例:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-spring-boot-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.0</version>
<relativePath/>
</parent>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
创建一个主应用程序类来启动 Spring Boot 应用程序:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
创建一个简单的控制器来处理 HTTP 请求:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
使用 Maven 运行:
在项目根目录下运行以下命令来启动应用程序:
mvn spring-boot:run
打包并运行 JAR 文件:
你可以将应用程序打包为一个 JAR 文件,并通过命令行运行:
mvn clean package
java -jar target/my-spring-boot-app-0.0.1-SNAPSHOT.jar
在 application.properties
文件中进行常见配置:
# 应用程序端口
server.port=8080
# 日志级别
logging.level.org.springframework=INFO
logging.level.com.example=DEBUG
Spring Boot 3.x 相较于 2.x 版本有以下主要改进:
Java 17 支持:
改进的 GraalVM 支持:
响应式编程的进一步改进:
改进的 Actuator:
更新的依赖版本:
更好的兼容性和模块化:
Spring Boot 3.x 对 GraalVM 的支持使得构建原生镜像变得更加简单。以下是一个基本示例:
安装 GraalVM:
下载并安装 GraalVM,确保其 bin
目录添加到系统 PATH
中。
配置 Maven 插件:
在 pom.xml
中添加 spring-boot-maven-plugin
的配置以支持 AOT(Ahead of Time)编译:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<goals>
<goal>build-image</goal>
</goals>
</execution>
</executions>
<configuration>
<image>
<builder>paketobuildpacks/builder:tiny</builder>
<env>
<BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
</env>
</image>
</configuration>
</plugin>
</plugins>
</build>
构建原生镜像:
在项目根目录下运行以下命令来构建原生镜像:
mvn spring-boot:build-image
运行原生镜像:
通过 Docker 运行生成的原生镜像:
docker run --rm -p 8080:8080 my-spring-boot-app:0.0.1-SNAPSHOT
Spring Boot 3.x 提供了许多新的功能和改进,使得开发现代应用程序更加高效和简便。通过对 Java 17 和 GraalVM 的支持,开发者可以构建更快、更轻量级的应用程序。同时,增强的响应式编程支持和改进的 Actuator 提供了更好的可观测性和管理能力。如果你正在开始一个新项目,或是考虑升级现有项目,Spring Boot 3.x 是一个值得推荐的选择。