Micronaut的强大之处在于它快速的启动时间和低内存占用,以及它支持大多数基于JVM的语言,如Java,Kotlin和Groovy。Micronaut内置了对基于云的无服务器功能的支持,例如AWS Lambda。
来自Grails的Micronaut框架令人惊讶的是,该框架与Springboot框架有很多相似之处,这有助于那些精通Springboot框架的人快速学习曲线。虽然语法和注释看起来很相似,但启动时间比 spring-boot 要好得多,一些分析表明它比 Spring boot 快近 1.5 倍。
本文的主要目的是帮助创建一个端到端的micronaut应用程序,支持连接到数据库的JPA /hibernate。为此,我们将使用Micronaut数据,它类似于Spring-boot世界中的Spring Data。
Micronaut Data使用一种称为提前(AoT)编译的技术来预先计算存储库接口在编译时使用的查询,从而减少运行时的开销,从而从应用程序做出更快的响应。
所以让我们开始行动吧!
在这一部分中,我们将使用一个现成的PostgreSQL数据库,该数据库可以运行docker容器。要了解如何完成此操作,请访问我之前的文章
https://hareeshgopidas.medium.com/postgresql-database-as-a-docker-container-66359167833a
hareeshgopidas.medium.com
因此,一旦完成,您将在计算机上运行一个数据库
http://localhost:5432/airport-db 与凭据 docker/docker
我们的下一步是从头开始创建微型航海项目。Micronaut现在提供了两个相同的选项。您可以直接从micronaut网站创建它(是的!就像弹簧初始化器一样)并将代码下载到您的系统上。
第二种选择是通过 Micronaut CLI .为此,您需要从此位置(https://micronaut.io/download.html)下载micronaut cli。如果您是 使用SDKman ,您可以使用该选项。对于那些喜欢 简单方法 ,从此位置下载 cli,然后在 PATH 变量中将路径配置为“/bin”。
成功安装 micronaut-cli 后,您将能够使用命令“mn”使用 cli
检查“ mn help命令,您可以看到可用的常用命令。
mn --helpApplication generation commands are:* create-app NAME * create-cli-app NAME * create-function-app NAME * create-grpc-app NAME * create-messaging-app NAMEOptions: -h, — help Show this help message and exit. -v, — verbose Create verbose output. -V, — version Print version information and exit. -x, — stacktrace Show full stack trace when exceptions occur.Commands: create-app Creates an application create-cli-app Creates a CLI application create-function-app Creates a Cloud Function create-grpc-app Creates a gRPC application create-messaging-app Creates a messaging application
因此,对于项目的脚手架,您需要使用 create-app 命令
mn create-app com.hkg.micronaut.airport.airport-service --build maven
如您所见,您可以给出应用程序所需的包结构作为项目名称的前缀。您也可以传递要用作参数的构建工具。在这种情况下,我使用了构建工具专家。默认的构建工具将是 gradle .即如果你不给出构建参数,源代码将在 gradle 支持下生成。
如果您打开项目结构,您可以看到在包com.hkg.micronaut.airport的项目中创建了一个Micronaut应用程序,类名为“ Application.java,内容如下
package com.hkg.micronaut.airport;import io.micronaut.runtime.Micronaut;public class Application {public static void main(String[] args) {Micronaut.run(Application.class, args);}}
作为第一步,我们需要添加对Micronaut数据和JPA的支持。
打开pom.xml并将微航数据处理器的依赖项添加到注释处理器部分
<annotationProcessorPaths> …… …… <path> <groupId>io.micronaut.data</groupId> <artifactId>micronaut-data-processor</artifactId> <version>2.0.1</version> </path> </annotationProcessorPaths>