Bagaimana untuk mengintegrasikan grpc maven dengan demo springboot
1. Penerangan
GRPC mentakrifkan antara muka berdasarkan protobuf. Dibahagikan kepada bahagian pelayan dan bahagian pelanggan. Bahagian pelayan menyediakan pelaksanaan antara muka, dan pelanggan memperoleh data yang diharapkan dengan memanggil antara muka sisi pelayan.
2. Bahagian awam
2.1 Tambah kebergantungan
<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>
Tambah pemalam (Nota: Jika wagon-provider-api tidak boleh diperkenalkan secara automatik, anda kini boleh memperkenalkannya dalam kebergantungan untuk memudahkan kebergantungan Muat turun, dan kemudian padamkan koordinat kebergantungan)
<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 Tambah fail kebergantungan proto
Tambah direktori src/main/proto
, dan tetapkan direktori kepada Source Root
, dan kemudian tambah direktori src/main/proto
Tambah fail hello.proto
di bawah dengan kandungan berikut:
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 Jana kod Java melalui protobuf
Selepas pemalam berjaya diimport, klik pada protobuf:compile
dan protbuf:compile-custom
dipilih dalam gambar di bawah untuk menjana Java yang sepadan seterusnya Kod (iaitu, kod pergantungan antara muka)
3 >
kod perkhidmatan adalah seperti berikutimport 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(); } }
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("牛哈哈"); } }
Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan grpc maven dengan demo springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Alat binaan Optimumkan Maven: Optimumkan kelajuan kompilasi: Manfaatkan kompilasi selari dan kompilasi tambahan. Optimumkan kebergantungan: Analisis pepohon kebergantungan dan gunakan BOM (Bill of Materials) untuk mengurus kebergantungan transitif. Kes praktikal: menggambarkan pengoptimuman kelajuan kompilasi dan pengurusan pergantungan melalui contoh.

Bagaimana untuk melaksanakan muat naik fail menggunakan gRPC? Buat definisi perkhidmatan sokongan, termasuk permintaan dan mesej respons. Pada klien, fail yang hendak dimuat naik dibuka dan dibahagikan kepada beberapa bahagian, kemudian distrim ke pelayan melalui aliran gRPC. Di bahagian pelayan, ketulan fail diterima dan disimpan ke dalam fail. Pelayan menghantar respons selepas muat naik fail selesai untuk menunjukkan sama ada muat naik berjaya.

Maven ialah alat pengurusan dan binaan projek Java yang digunakan secara meluas dalam pembangunan projek Java. Dalam proses menggunakan Maven untuk membina projek, anda sering menghadapi beberapa isu konfigurasi persekitaran biasa. Artikel ini akan menjawab soalan lazim ini dan menyediakan contoh kod khusus untuk membantu pembaca mengelakkan ralat konfigurasi biasa. 1. Ralat konfigurasi pembolehubah persekitaran Maven Penerangan masalah: Apabila menggunakan Maven, jika konfigurasi pembolehubah persekitaran tidak betul, Maven mungkin tidak berfungsi dengan betul. Penyelesaian: Pastikan

Panduan konfigurasi gudang tempatan Maven: Urus kebergantungan projek dengan mudah Dengan pembangunan pembangunan perisian, pengurusan pakej kebergantungan projek menjadi semakin penting. Sebagai alat binaan dan alat pengurusan pergantungan yang sangat baik, Maven memainkan peranan penting dalam proses pembangunan projek. Maven akan memuat turun kebergantungan projek daripada gudang pusat secara lalai, tetapi kadangkala kita perlu menyimpan beberapa pakej kebergantungan khusus ke gudang tempatan untuk kegunaan luar talian atau untuk mengelakkan ketidakstabilan rangkaian. Artikel ini akan memperkenalkan cara mengkonfigurasi gudang tempatan Maven untuk pengurusan yang mudah

IDEA (IntelliJIDEA) ialah persekitaran pembangunan bersepadu yang berkuasa yang boleh membantu pembangun membangunkan pelbagai aplikasi Java dengan cepat dan cekap. Dalam pembangunan projek Java, menggunakan Maven sebagai alat pengurusan projek boleh membantu kami mengurus perpustakaan bergantung, membina projek, dsb. Artikel ini akan memperincikan langkah asas tentang cara membuat projek Maven dalam IDEA, sambil memberikan contoh kod khusus. Langkah 1: Buka IDEA dan cipta projek baharu Buka IntelliJIDEA

Apabila menggunakan Maven untuk membina projek Java, anda sering menghadapi situasi di mana anda perlu menetapkan versi Java. Menetapkan versi Java dengan betul bukan sahaja dapat memastikan projek berjalan seperti biasa dalam persekitaran yang berbeza, tetapi juga mengelakkan beberapa isu keserasian dan meningkatkan kestabilan dan kebolehselenggaraan projek. Artikel ini akan memperkenalkan amalan terbaik dan kaedah yang disyorkan untuk menetapkan versi Java dalam Maven, dan menyediakan contoh kod khusus untuk rujukan. 1. Tetapkan versi Java dalam fail pom.xml Dalam fail pom.xml projek Maven, anda boleh

Binaan licin: Cara mengkonfigurasi alamat imej Maven dengan betul Apabila menggunakan Maven untuk membina projek, adalah sangat penting untuk mengkonfigurasi alamat imej yang betul. Mengkonfigurasi alamat cermin dengan betul boleh mempercepatkan pembinaan projek dan mengelakkan masalah seperti kelewatan rangkaian. Artikel ini akan memperkenalkan cara mengkonfigurasi alamat cermin Maven dengan betul dan memberikan contoh kod tertentu. Mengapa anda perlu mengkonfigurasi alamat imej Maven ialah alat pengurusan projek yang boleh membina projek secara automatik, mengurus kebergantungan, menjana laporan, dsb. Apabila membina projek di Maven, biasanya

Maven ialah alat pengurusan projek sumber terbuka yang biasa digunakan untuk tugas seperti membina projek Java, mengurus kebergantungan dan menerbitkan dokumen. Apabila menggunakan Maven untuk binaan projek, kadangkala kita mahu mengabaikan fasa ujian apabila melaksanakan arahan seperti mvnpackage, yang akan meningkatkan kelajuan binaan dalam beberapa kes, terutamanya apabila prototaip atau persekitaran ujian perlu dibina dengan cepat. Artikel ini akan memperincikan cara mengabaikan fasa ujian dalam Maven, dengan contoh kod tertentu. Mengapa Ujian Sering Diabaikan Semasa Pembangunan Projek
