Table des matières
1. Description
2. Partie publique
2.1 Ajouter une dépendance
2.2 Ajouter un fichier de dépendance proto
2.3 通过protobuf生成Java代码
Maison Java javaDidacticiel Comment intégrer Maven Grpc avec la démo Springboot

Comment intégrer Maven Grpc avec la démo Springboot

May 13, 2023 pm 01:01 PM
grpc maven springboot

    1. Description

    GRPC définit l'interface basée sur protobuf. Divisé en côté serveur et côté client. Le côté serveur assure l'implémentation de l'interface et le client obtient les données attendues en appelant l'interface côté serveur.

    2. Partie publique

    2.1 Ajouter une dépendance

            <dependency>
                <groupId>net.devh</groupId>
                <artifactId>grpc-spring-boot-starter</artifactId>
                <version>2.12.0.RELEASE</version>
            </dependency>
            <dependency>
                <!-- Java 9+ compatibility -->
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
            </dependency>
    Copier après la connexion

    Ajouter un plug-in (Remarque : si wagon-provider-api ne peut pas être introduit automatiquement, vous pouvez l'introduire maintenant dans les dépendances pour faciliter le téléchargement des dépendances, puis supprimer le coordonnées de dépendance)

    <plugin>
                    <!--                    protobuf生成插件-->
                    <groupId>org.xolstice.maven.plugins</groupId>
                    <artifactId>protobuf-maven-plugin</artifactId>
                    <version>0.6.1</version>
                    <configuration>
                        <protocArtifact>com.google.protobuf:protoc:3.17.3:exe:${os.detected.classifier}
                        </protocArtifact>
                        <pluginId>grpc-java</pluginId>
                        <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.39.0:exe:${os.detected.classifier}
                        </pluginArtifact>
                        <!--默认值-->
                        <protoSourceRoot>${project.basedir}/src/main/proto</protoSourceRoot>
                        <outputDirectory>${project.basedir}/src/main/java</outputDirectory>
                        <clearOutputDirectory>false</clearOutputDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>compile</goal>
                                <goal>compile-custom</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    Copier après la connexion

    2.2 Ajouter un fichier de dépendance proto

    Ajoutez le répertoire src/main/proto, et définissez le répertoire sur Source Root, puis ajoutez le répertoire < code>src/main/proto Ajoutez le fichier hello.proto sous , le contenu est le suivantsrc/main/proto,并将目录设置为Source Root,然后在目录src/main/proto下添加文件hello.proto,内容如下

    syntax = "proto3"; //指定proto版本
    package com.server;
    // 生成的Java代码的包名
    option java_package = "com.grpc.server";
    // 请求参数
    message HelloReq{
        string name = 1;
    }
    // 返回参数
    message HelloResp{
        string ret = 1;
    }
    // rpc service
    service HelloService{
    	// service中需要进行调用的具体方法
        rpc hello(HelloReq) returns (HelloResp){}
    }
    Copier après la connexion

    2.3 通过protobuf生成Java代码

    插件导入成功后,点击下图选中的protobuf:compileprotbuf:compile-custom

    import io.grpc.stub.StreamObserver;
    import net.devh.boot.grpc.server.service.GrpcService;
    @GrpcService
    public class HelloService extends HelloServiceGrpc.HelloServiceImplBase {
        @Override
        public void hello(Hello.HelloReq request, StreamObserver<Hello.HelloResp> responseObserver) {
            Hello.HelloResp resp = Hello.HelloResp.newBuilder().setRet("你好-->"+request.getName()).build();
            responseObserver.onNext(resp);
            responseObserver.onCompleted();
        }
    }
    Copier après la connexion

    2.3 Générez du code Java via protobuf

    Comment intégrer Maven Grpc avec la démo SpringbootUne fois le plug-in importé avec succès , cliquez sur le protobuf:compile</code sélectionné dans l'image ci-dessous > et <code>protbuf:compile-custom générez le code Java correspondant (c'est-à-dire le code de dépendance de l'interface) dans l'ordre

    3. L'implémentation spécifique de l'interface côté serveur

    le code de service est la suivante

    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    @SpringBootTest
    public class GrpcTest {
        @Autowired
        private HelloSerivce helloSerivce;
        @Test
        public void test1() throws  Exception{
            helloSerivce.haha("牛哈哈");
        }
    }
    Copier après la connexion
    4 côté client L'implémentation spécifique de l'interface🎜🎜le code d'appel de test côté client est la suivante🎜rrreee

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Comment relancer ses coéquipiers
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Comment utiliser gRPC pour implémenter le téléchargement de fichiers dans Golang ? Comment utiliser gRPC pour implémenter le téléchargement de fichiers dans Golang ? Jun 03, 2024 pm 04:54 PM

    Comment implémenter le téléchargement de fichiers à l'aide de gRPC ? Créez des définitions de service de support, y compris des messages de demande et de réponse. Sur le client, le fichier à télécharger est ouvert et divisé en morceaux, puis diffusé sur le serveur via un flux gRPC. Côté serveur, des fragments de fichiers sont reçus et stockés dans un fichier. Le serveur envoie une réponse une fois le téléchargement du fichier terminé pour indiquer si le téléchargement a réussi.

    Avancement de l'outil de build Java Maven : optimisation de la vitesse de compilation et de la gestion des dépendances Avancement de l'outil de build Java Maven : optimisation de la vitesse de compilation et de la gestion des dépendances Apr 17, 2024 pm 06:42 PM

    Optimisez les outils de construction Maven : Optimisez la vitesse de compilation : profitez de la compilation parallèle et de la compilation incrémentielle. Optimisez les dépendances : analysez les arbres de dépendances et utilisez la nomenclature (Bill of Materials) pour gérer les dépendances transitives. Cas pratique : illustrer l'optimisation de la vitesse de compilation et la gestion des dépendances à travers des exemples.

    Évitez les erreurs courantes dans la configuration de l'environnement Maven : résolvez les problèmes de configuration Évitez les erreurs courantes dans la configuration de l'environnement Maven : résolvez les problèmes de configuration Feb 19, 2024 pm 04:56 PM

    Maven est un outil de gestion et de construction de projets Java largement utilisé dans le développement de projets Java. Lors de l'utilisation de Maven pour créer des projets, vous rencontrez souvent des problèmes courants de configuration d'environnement. Cet article répondra à ces questions courantes et fournira des exemples de code spécifiques pour aider les lecteurs à éviter les erreurs de configuration courantes. 1. Erreur de configuration de la variable d'environnement Maven Description du problème : lors de l'utilisation de Maven, si la configuration de la variable d'environnement est incorrecte, Maven peut ne pas fonctionner correctement. Solution : assurez-vous

    Guide de mise en place des bibliothèques locales Maven : gérer efficacement les dépendances du projet Guide de mise en place des bibliothèques locales Maven : gérer efficacement les dépendances du projet Feb 19, 2024 am 11:47 AM

    Guide de configuration de l'entrepôt local Maven : gérez facilement les dépendances du projet Avec le développement du développement de logiciels, la gestion des packages de dépendances du projet est devenue de plus en plus importante. En tant qu'excellent outil de construction et de gestion des dépendances, Maven joue un rôle essentiel dans le processus de développement de projet. Maven téléchargera par défaut les dépendances du projet depuis l'entrepôt central, mais nous devons parfois enregistrer certains packages de dépendances spécifiques dans l'entrepôt local pour une utilisation hors ligne ou pour éviter l'instabilité du réseau. Cet article explique comment configurer l'entrepôt local Maven pour une gestion facile.

    Tutoriel avancé Maven : exploration approfondie de diverses méthodes d'importation de packages Jar Tutoriel avancé Maven : exploration approfondie de diverses méthodes d'importation de packages Jar Feb 23, 2024 pm 02:57 PM

    Titre : Tutoriel avancé Maven : Exploration approfondie de diverses méthodes d'importation de packages Jar. En tant qu'outil de gestion de projet Java, Maven est largement utilisé dans la construction de projets, la gestion des dépendances, etc. Dans le processus de développement actuel, nous utilisons souvent des packages Jar de diverses bibliothèques tierces, et comment importer efficacement des packages Jar est devenu une compétence qui doit être maîtrisée. Cet article approfondira les méthodes d'importation de packages Jar dans Maven, y compris l'utilisation de packages Jar locaux, de packages Jar d'entrepôt distant et de packages Jar personnalisés, et donnera des détails spécifiques.

    Explication détaillée de la configuration de l'image Maven Alibaba Cloud Explication détaillée de la configuration de l'image Maven Alibaba Cloud Feb 21, 2024 pm 10:12 PM

    Explication détaillée de la configuration de l'image Maven Alibaba Cloud Maven est un outil de gestion de projet Java En configurant Maven, vous pouvez facilement télécharger des bibliothèques dépendantes et créer des projets. L'image Alibaba Cloud peut accélérer la vitesse de téléchargement de Maven et améliorer l'efficacité de la construction du projet. Cet article présentera en détail comment configurer la mise en miroir d'Alibaba Cloud et fournira des exemples de code spécifiques. Qu’est-ce qu’Alibaba Cloud Image ? Alibaba Cloud Mirror est le service de miroir Maven fourni par Alibaba Cloud. En utilisant Alibaba Cloud Mirror, vous pouvez accélérer considérablement le téléchargement des bibliothèques de dépendances Maven. Miroir de nuage Alibaba

    Construction fluide : Comment configurer correctement l'adresse de l'image Maven Construction fluide : Comment configurer correctement l'adresse de l'image Maven Feb 20, 2024 pm 08:48 PM

    Construction fluide : comment configurer correctement l'adresse de l'image Maven Lorsque vous utilisez Maven pour créer un projet, il est très important de configurer l'adresse de l'image correcte. Une configuration correcte de l'adresse miroir peut accélérer la construction du projet et éviter des problèmes tels que les retards du réseau. Cet article explique comment configurer correctement l'adresse du miroir Maven et donne des exemples de code spécifiques. Pourquoi avez-vous besoin de configurer l'adresse de l'image Maven ? Maven est un outil de gestion de projet qui peut automatiquement créer des projets, gérer les dépendances, générer des rapports, etc. Lors de la construction d'un projet dans Maven, généralement

    Vous guider pour configurer un référentiel local Maven pour accélérer la construction du projet Vous guider pour configurer un référentiel local Maven pour accélérer la construction du projet Feb 24, 2024 pm 02:12 PM

    Apprenez étape par étape comment configurer l'entrepôt local Maven : améliorez la vitesse de construction du projet Maven est un puissant outil de gestion de projet largement utilisé dans le développement Java. Cela peut nous aider à gérer les dépendances des projets, à créer des projets et à publier des projets, etc. Cependant, au cours du processus de développement lui-même, nous rencontrons parfois le problème de la lenteur de la construction des projets. Une solution consiste à configurer un référentiel local pour améliorer la vitesse de construction du projet. Cet article vous apprendra étape par étape comment configurer l'entrepôt local Maven pour rendre la construction de votre projet plus efficace. Pourquoi devez-vous configurer un entrepôt local ?

    See all articles