文章目录
背景
在上一篇文章《GraalVM之Windows详细安装及使用教程》文章中详细介绍如何搭建Windows系统开发环境,接下来我们围绕GraalVM及SpringBoot3做入门介绍。
SpringBoot3
Spring Boot 3.0 这是一个重大的主版本更新,距离上一代的 Spring Boot 2.0 的发布已经过去 4 年多了,Spring Boot 3.0 也是第一个支持 Spring 6.0+ 和 GraalVM 的 Spring Boot 正式版本。
Spring Boot 3.0 重大新特性
1、最低环境要求
Spring Boot 3.0 最低要求 Java 17,并向上兼容支持 Java 19。
2、大量依赖升级
Spring Boot 3.0 最低支持的 Spring 框架也变成了 Spring 6.0.2+,除此之外,Spring Boot 管理的大量第三方的技术依赖也有大幅度的的升级,具体可以参考官方版本发布文档:Spring Boot3 github
3、支持 GraalVM 原生镜像
Spring Boot 3.0 应用现在可以支持转换为 GraalVM 原生镜像了,这可以提供显著的内存和启动性能改进,能支持 GraalVM 原生镜像也是整个 Spring 产品组合中的一项重大能力的提升。(Spring Boot 3.0 最低支持 Graal 22.3+ 和 Native Build Tools Plugin 0.9.17+)
4、提高应用可观察性
Spring Boot 3.0 通过 Micrometer 和 Micrometer 追踪提高应用可观察性,支持集成 Micrometer 1.10+,引入了的全新的可观察 API 并自动配置 Micrometer 追踪,包括对 Brave、OpenTelemetry、Zipkin 和 Wavefront 组件的支持。
创建SpringBoot3项目
1、创建项目
2、添加pom
<?xml version="1.0" encoding="UTF-8"?>
<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.gitee.xmhzzz</groupId>
<artifactId>graalvm-springboot3-learner</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.5</version>
<relativePath/>
</parent>
<properties>
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<!-- web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- AOT Graalvm native maven 插件 -->
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>0.9.21</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3、添加配置文件application.yml
spring:
application:
name: graalvm-springboot3-learner
server:
port: 8088
servlet:
context-path: /graalvm-service
4、创建Spring Boot启动类
@SpringBootApplication
public class GraalVMSpringBoot3Application {
private static final Logger logger = LoggerFactory.getLogger(GraalVMSpringBoot3Application.class);
public static void main(String[] args) {
SpringApplication.run(GraalVMSpringBoot3Application.class, args);
logger.info("==================== GraalVM SpringBoot3 启动完成 ====================");
}
}
5、创建Controller
@RestController
@RequestMapping("graalvm")
public class GraalVMController {
@GetMapping("hello")
public String hello() {
return "Hello World! GraalVM SpringBoot3.0!";
}
}
编译SpringBoot3项目
1、按照步骤执行
按步骤执行完后会编译出graalvm-springboot3-learner.exe
2、执行exe文件
进入项目目录(D:\JavaProject\graal-vm-learner\graalvm-springboot3-learner\target)执行cmd
直接执行graalvm-springboot3-learner.exe
请求接口http://localhost:8088/graalvm-service/graalvm/hello
3、纯maven命令执行(前提Windows环境配置好maven)
进入项目目录(D:\JavaProject\graal-vm-learner\graalvm-springboot3-learner)执行cmd
在cmd中依次执行:
mvn clean
mvn compile
mvn spring-boot:process-aot
mvn -Pnative native:build -f pom.xml
在target文件里生成:graalvm-springboot3-learner.exe
Gitee
开源项目graalvm-springboot3-learner