赞
踩
在上一篇文章《GraalVM之Windows详细安装及使用教程》文章中详细介绍如何搭建Windows系统开发环境,接下来我们围绕GraalVM及SpringBoot3做入门介绍。
Spring Boot 3.0 这是一个重大的主版本更新,距离上一代的 Spring Boot 2.0 的发布已经过去 4 年多了,Spring Boot 3.0 也是第一个支持 Spring 6.0+ 和 GraalVM 的 Spring Boot 正式版本。
Spring Boot 3.0 最低要求 Java 17,并向上兼容支持 Java 19。
Spring Boot 3.0 最低支持的 Spring 框架也变成了 Spring 6.0.2+,除此之外,Spring Boot 管理的大量第三方的技术依赖也有大幅度的的升级,具体可以参考官方版本发布文档:Spring Boot3 github
Spring Boot 3.0 应用现在可以支持转换为 GraalVM 原生镜像了,这可以提供显著的内存和启动性能改进,能支持 GraalVM 原生镜像也是整个 Spring 产品组合中的一项重大能力的提升。(Spring Boot 3.0 最低支持 Graal 22.3+ 和 Native Build Tools Plugin 0.9.17+)
Spring Boot 3.0 通过 Micrometer 和 Micrometer 追踪提高应用可观察性,支持集成 Micrometer 1.10+,引入了的全新的可观察 API 并自动配置 Micrometer 追踪,包括对 Brave、OpenTelemetry、Zipkin 和 Wavefront 组件的支持。
<?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>
spring:
application:
name: graalvm-springboot3-learner
server:
port: 8088
servlet:
context-path: /graalvm-service
@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 启动完成 ====================");
}
}
@RestController
@RequestMapping("graalvm")
public class GraalVMController {
@GetMapping("hello")
public String hello() {
return "Hello World! GraalVM SpringBoot3.0!";
}
}
按步骤执行完后会编译出graalvm-springboot3-learner.exe
进入项目目录(D:\JavaProject\graal-vm-learner\graalvm-springboot3-learner\target)执行cmd
直接执行graalvm-springboot3-learner.exe
请求接口http://localhost:8088/graalvm-service/graalvm/hello
进入项目目录(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
开源项目graalvm-springboot3-learner
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。