配置
安装graalvm、docker
并配置环境变量
代码
mvn io.quarkus:quarkus-maven-plugin:1.3.1.Final:create \
-DprojectGroupId=org.acme \
-DprojectArtifactId=getting-started \
-DclassName="org.acme.getting.started.GreetingResource" \
-Dpath="/hello"
或者
git clone https://github.com/quarkusio/quarkus-quickstarts.git
cd getting-started
运行
mvn compile quarkus:dev
打包native-image
安装插件
gu install native-image
打包命令
mvn package native-image
初级学习
JAX-RS 资源
JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java注解来简化Web服务的客户端和服务端的开发和部署。
注解
@Path,标注资源类或者方法的相对路径
@GET,@PUT,@POST,@DELETE,标注方法是HTTP请求的类型。
@Produces,标注返回的MIME媒体类型
@Consumes,标注可接受请求的MIME媒体类型
@PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam,@FormParam,分别标注方法的参数来自于HTTP请求的不同位置,例如@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam来自于HTTP请求的头信息,@CookieParam来自于HTTP请求的Cookie。
默认单例可以使用不同的
*Scoped
注解 (ApplicationScoped
,RequestScoped
,等)对它进行配置。
注入
CDI(Contexts and Dependency Injection),即上下文依赖注入
Quarkus 中的依赖注入是基于ArC的,ArC是一个基于 CDI 的依赖注入解决方案,专为 Quarkus 设计。
Bean
分类
- application 类,
- 包含
beans.xml
的依赖项 (将忽略内容), - 包含 Jandex 索引的依赖项 -
META-INF/jandex.idx
, application.properties
中quarkus.index-dependency
用到的依赖,- Quarkus integration code.