likes
comments
collection
share

Quarkus实现第一个Hello World

作者站长头像
站长
· 阅读数 43

Quarkus介绍

Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。

Quarkus 可与常用 Java 标准、框架和库协同工作,例如 Eclipse MicroProfile、Apache Kafka、RESTEasy(JAX-RS)、Hibernate ORM(JPA)、Spring、Infinispan、Camel 等。

Quarkus 的依赖注入解决方案基于 CDI(上下文和依赖注入),且包含一个扩展框架来扩展功能并将其配置、引导并集成到您的应用中。添加扩展就像添加依赖项一样容易;或者,您可以使用 Quarkus 工具。

此外也是引人注目的一个特点,它还向 GraalVM(一种通用虚拟机,用于运行以多种语言(包括 Java 和 JavaScript)编写的应用)提供正确信息,以便对应用进行原生编译。

安装GraalVM

GraalVM简介

    GraalVM是一种高性能的虚拟机,它可以显著的提高程序的性能和运行效率,非常适合微服务。其设计初衷是实现可以运行不同语言(Java、JavaScript、基于LLVM的语言(例如C和C ++)以及其他动态语言)编写的应用程序。它消除了不同编程语言之间的隔阂,并实现了多语言共享运行时的互操作性。它可以独立运行,也可以在OpenJDK,Node.js或Oracle数据库的上下文中运行。

Quarkus实现第一个Hello World

    对于Java应用程序,GraalVM可以带来很多有价值的好处:更快地运行它们,通过脚本语言(JavaScript, R, Python…)提供可扩展性或创建提前编译的本机映像(native-image)。

GraalVM安装

    本文我们使用SDKMAN来安装GraalVM。SDKMAN是一款用于在大多数基于Unix的系统上管理多个软件开发套件的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API,用于安装,切换,删除和列出候选人。它以前被称为Groovy enVironment Manager (GVM),受到了非常有用的RVM和rbenv工具的启发,该工具在Ruby社区中广泛使用。

安装SDKMAN

运行如下命令进行安装:

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"

运行如下命令,验证是否已安装ADKMAN:

$ sdk version

安装GraalVM

注:安装前把电脑上之前安装的JDK完全卸载

运行如下命令:

$ sdk list java

可以看到SDKMAN列出了所支持的所有Java发行版,找GraalVM发行版执行以下命令安装:

注:构建原生可执行文件要求的GraalVM版本是22.1.0及以上

$ sdk install java 22.1.0.r17-grl

至此,GraalVM安装完毕!我们可以运行如下命令来判断GraalVM是否已安装:

$ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment GraalVM CE 20.1.0 (build 11.0.7+10-jvmci-20.1-b02)
OpenJDK 64-Bit Server VM GraalVM CE 20.1.0 (build 11.0.7+10-jvmci-20.1-b02, mixed mode, sharing)

创建项目

使用IDEA创建Quarkus项目

使用IDEA创建Quarkus项目,如下图,指定JDK为刚安装的GraalVM,选择完成后点击Next

Quarkus实现第一个Hello World

扩展选择,选择Web下的RESTEasy Reactive等,按照需要选择扩展。

Quarkus实现第一个Hello World

项目结构如下:

Quarkus实现第一个Hello World

通过resource文件下的application.properties可以修改一些参数,如应用名、监听端口等等,如下图:

Quarkus实现第一个Hello World

启动项目

    Quarkus并没有像Spring Boot的项目启动类,有两种方式启动项目,如下:

  • 命令行运行
➜ ./mvnw compile quarkus:dev

如下图代表启动成功!

Quarkus实现第一个Hello World

  • IDEA配置项目快捷启动

Quarkus实现第一个Hello World

项目启动成功后可以看到监听8091端口,通过curl命令请求接口,结果如下:

➜  ~ curl -X GET http://localhost:8091/hello
Hello World%
转载自:https://juejin.cn/post/7244451945103786044
评论
请登录