当前位置:   article > 正文

GraalVM之SpringBoot3入门详解_graalvm springboot3

graalvm springboot3

背景

在上一篇文章《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、创建项目

image.png

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
3、添加配置文件application.yml
spring:
  application:
    name: graalvm-springboot3-learner
server:
  port: 8088
  servlet:
    context-path: /graalvm-service

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
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 启动完成 ====================");
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
5、创建Controller
@RestController
@RequestMapping("graalvm")
public class GraalVMController {

    @GetMapping("hello")
    public String hello() {
        return "Hello World! GraalVM SpringBoot3.0!";
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

编译SpringBoot3项目

1、按照步骤执行

按步骤执行完后会编译出graalvm-springboot3-learner.exe
image.png
image.png
image.png
image.png

2、执行exe文件

进入项目目录(D:\JavaProject\graal-vm-learner\graalvm-springboot3-learner\target)执行cmd
image.png
直接执行graalvm-springboot3-learner.exe
image.png
请求接口http://localhost:8088/graalvm-service/graalvm/hello
image.png

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
  • 1
  • 2
  • 3
  • 4

在target文件里生成:graalvm-springboot3-learner.exe

Gitee

开源项目graalvm-springboot3-learner

公众号

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/68702
推荐阅读
相关标签
  

闽ICP备14008679号