Jadual Kandungan
1. Penerangan
2. Bahagian awam
2.1 Tambah kebergantungan
2.2 Tambah fail kebergantungan proto
2.3 Jana kod Java melalui protobuf
3 >
Rumah Java javaTutorial Bagaimana untuk mengintegrasikan grpc maven dengan demo springboot

Bagaimana untuk mengintegrasikan grpc maven dengan demo springboot

May 13, 2023 pm 01:01 PM
grpc maven 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>
    Salin selepas log masuk

    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>
    Salin selepas log masuk

    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){}
    }
    Salin selepas log masuk

    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)

    Bagaimana untuk mengintegrasikan grpc maven dengan demo springboot

    3 >

    kod perkhidmatan adalah seperti berikut

    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();
        }
    }
    Salin selepas log masuk

    4 antara muka sisi pelanggan Pelaksanaan khusus

    kod panggilan ujian sisi pelanggan adalah seperti berikut

    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("牛哈哈");
        }
    }
    Salin selepas log masuk

    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!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

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

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Topik panas

    Tutorial Java
    1664
    14
    Tutorial PHP
    1266
    29
    Tutorial C#
    1239
    24
    Java Maven membina kemajuan alat: mengoptimumkan kelajuan kompilasi dan pengurusan pergantungan Java Maven membina kemajuan alat: mengoptimumkan kelajuan kompilasi dan pengurusan pergantungan Apr 17, 2024 pm 06:42 PM

    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 menggunakan gRPC untuk melaksanakan muat naik fail di Golang? Bagaimana untuk menggunakan gRPC untuk melaksanakan muat naik fail di Golang? Jun 03, 2024 pm 04:54 PM

    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.

    Elakkan kesilapan biasa dalam konfigurasi persekitaran Maven: Selesaikan masalah konfigurasi Elakkan kesilapan biasa dalam konfigurasi persekitaran Maven: Selesaikan masalah konfigurasi Feb 19, 2024 pm 04:56 PM

    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 untuk menyediakan perpustakaan tempatan Maven: mengurus kebergantungan projek dengan cekap Panduan untuk menyediakan perpustakaan tempatan Maven: mengurus kebergantungan projek dengan cekap Feb 19, 2024 am 11:47 AM

    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

    Tutorial asas: Buat projek Maven menggunakan IDEA Tutorial asas: Buat projek Maven menggunakan IDEA Feb 19, 2024 pm 04:43 PM

    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

    Amalan terbaik dan kaedah yang disyorkan untuk menetapkan versi Java dalam Maven Amalan terbaik dan kaedah yang disyorkan untuk menetapkan versi Java dalam Maven Feb 22, 2024 pm 03:18 PM

    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 Binaan licin: Cara mengkonfigurasi alamat imej Maven dengan betul Feb 20, 2024 pm 08:48 PM

    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

    Bagaimana untuk melumpuhkan kes ujian di Maven? Bagaimana untuk melumpuhkan kes ujian di Maven? Feb 26, 2024 am 09:57 AM

    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

    See all articles