Heim > Java > javaLernprogramm > So integrieren Sie Maven GrPC in die Springboot-Demo

So integrieren Sie Maven GrPC in die Springboot-Demo

王林
Freigeben: 2023-05-13 13:01:26
nach vorne
812 Leute haben es durchsucht

    1. Beschreibung

    GRPC definiert die Schnittstelle basierend auf Protobuf. Unterteilt in Serverseite und Clientseite. Die Serverseite stellt die Schnittstellenimplementierung bereit, und der Client erhält die erwarteten Daten durch Aufrufen der serverseitigen Schnittstelle.

    2. Öffentlicher Teil Abhängigkeitskoordinaten)

            <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>
    Nach dem Login kopieren

    2.2 Proto-Abhängigkeitsdatei hinzufügen

    Fügen Sie das Verzeichnis src/main/proto hinzu, setzen Sie das Verzeichnis auf Source Root und fügen Sie dann das Verzeichnis < hinzu code>src/main/proto Fügen Sie die Datei hello.proto unter hinzu. Der Inhalt lautet wie folgt

    <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>
    Nach dem Login kopieren

    2.3 Generieren Sie Java-Code über protobuf

    Nachdem das Plug-In erfolgreich importiert wurde , klicken Sie auf den im Bild unten ausgewählten protobuf:compile</code > und <code>protbuf:compile-custom generiert nacheinander den entsprechenden Java-Code (d. h. den Schnittstellenabhängigkeitscode)

    src/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){}
    }
    Nach dem Login kopieren

    2.3 通过protobuf生成Java代码

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

    So integrieren Sie Maven GrPC in die Springboot-Demo3. Die spezifische Implementierung des serverseitigen Schnittstellen-Servicecodes lautet wie folgt:

    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();
        }
    }
    Nach dem Login kopieren

    Das obige ist der detaillierte Inhalt vonSo integrieren Sie Maven GrPC in die Springboot-Demo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:yisu.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage