6

Quarkus和MongoDB微服务简单案例源码

 2 years ago
source link: https://www.jdon.com/57382
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Quarkus和MongoDB微服务简单案例源码

这篇文章它介绍了如何使用 MongoDB 交互创建 Quarkus 微服务。本教程的完整代码在以下链接中:

quarkus-mongodb-panache-code

Quarkus 是一个强大的企业编程堆栈,很有可能席卷市场。可以使用 Java 创建超音速和亚原子应用程序,因此我们可以为 Serverless 创建超快的应用程序。

在云时代,我们需要速度和轻量级的应用程序,Quarkus 巧妙地使之成为可能。使用 Quarkus 启动 Java 应用程序,只需不到 500 毫秒。

快速启动您的 Quarkus 应用程序

为了快速开始使用 Quarkus,我们可以使用以下 URL code.quakus.io并在那里生成我们的应用程序。

安装 Docker

对于 MacBook,您可以使用以下链接安装 Docker:docker-for-mac-install

如果您使用的是 Windows,则可以访问以下链接:docker-for-windows-install

如果你想要 Docker for Ubuntu,你可以使用以下链接:docker-engine-install-ubuntu

如果您需要为另一个 Linux 发行版安装 Docker,只需浏览官方 Docker 网站。

此外,由于我们将在我们的应用程序中使用 docker-compose,因此有必要安装 docker-compose。您可以访问以下链接:docker-compose-install

简单地说,docker-compose 是一种在一个简单的命令 docker-compose up 中使用 docker 来启动你的服务或 docker-compose down 来销毁它的方法。

我们将使用 docker-compose 代替使用 docker run 来启动我们需要的服务,这样我们就不需要创建扩展的 docker run 命令。

所需设置

在开始本教程之前,您需要在您的机器上安装 Java SDK 11 和 Gradle。

起步

Quarkus 拥有一个令人难以置信的平台,其中包含许多强大的库,可帮助我们在云中创建可靠且强大的软件。在这个平台上,我们可以轻松地以我们想要的方式选择和创建我们的项目。

转到以下链接code.quarkus.io,让我们创建我们的简单项目。

在“选择您的扩展”部分,我们将向我们的项目添加以下依赖项:

MongoDB with PanacheRESTEasy JSON-BRESTEasy JacksonSmallRye Health

在 Build Tool 选项中,选择Gradle。

在为我们的项目选择我们想要的内容后,让我们点击“生成您的应用程序”。解压缩项目并将其导入您最喜欢的 IDE(我的是IntelliJ)。

现在让我们使用 Docker 来启动我们的 MongoDB 会话!

现在使用以下信息在我们的 Quarkus 项目的根目录中创建docker-compose.yml文件。

version: '3.7'
      services:
      mongodb_container:
      image: mongo:latest
      ports:
      - 27017:27017
      volumes:
      - mongodb_data_container:/data/db

      volumes:
      mongodb_data_container:

然后通过在 Quarkus 项目的根目录中运行以下命令来启动 MongoDB 会话:

docker-compose up

构建应用程序代码

在下面的代码中,我们将:

1 – 配置项目以连接到 MongoDB

2 – 使用我们想要的字段创建 Knight 模型类,扩展 PanacheMongoEntity 类。

3 – 使用自定义搜索方法(例如 count、orderedByName 和 searchByName)创建我们的数据存储库。

4 – 创建 REST 端点以创建、更新、删除和搜索 Knights。

一旦我们运行了一个 Docker MongoDB 实例,我们就可以配置我们的 Quarkus 应用程序来连接到它。然后让我们在以下路径中创建application.properties文件:“src/main/resources/”。

在这个文件中,我们实际上是在设置 MongoDB 主机和数据库名称,这应该足以将 Quarkus 与 MongoDB 集成!

# configure the MongoDB client for a single node cluster on localhost
quarkus.mongodb.connection-string=mongodb://localhost:27017
# mandatory if you don't specify the name of the database using @MongoEntity
quarkus.mongodb.database=knight
...

使用 Panache,处理数据库事务真的很容易。我们可以简单地在属性文件中创建我们的数据库配置,创建我们的 Repository 类.

import io.quarkus.mongodb.panache.PanacheMongoEntity;

public class Knight extends PanacheMongoEntity {

    public String name;
    public String swordName;

    public Knight() { }

    public Knight(String name, String swordName) {
        this.name = name;
        this.swordName = swordName;
    }
}

然后,让我们创建 Repository 类,该类将扩展PanacheMongoRepository负责为我们提供基本的数据库操作,例如创建、更新、删除和搜索元素。

import io.quarkus.mongodb.panache.PanacheMongoRepository;
import io.quarkus.panache.common.Sort;
import java.util.List;
import javax.enterprise.context.ApplicationScoped;

@ApplicationScoped
public class KnightRepository implements PanacheMongoRepository<Knight>{

    public Knight findByName(String name){
        return find("name", name).firstResult();
    }

    public List<Knight> findOrderedByName(){
        return findAll(Sort.by("name")).list();
    }

}

运行您的 Quarkus 应用程序

现在您已经为 Quarkus 应用程序配置了一切,您需要运行您的应用程序。Quarkus 最强大的功能之一是可以在开发模式下运行您的应用程序,这允许我们更改代码并查看实时更改,而无需重新启动服务器!

要使用在开发模式下运行Quarkus gradle这个我们可以从项目的根路径使用以下命令:

./gradlew quarkusDev


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK