Comment intégrer Maven Grpc avec la démo 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>
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>
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){} }
2.3 通过protobuf生成Java代码
插件导入成功后,点击下图选中的protobuf:compile
和protbuf: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(); } }
Une 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é serveurle 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("牛哈哈"); } }
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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.

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.

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 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.

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 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 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

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 ?
