You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spring Boot中实现gRPC服务端?附现有Demo代码示例

将gRPC服务端集成到Spring Boot的步骤

1. 添加Spring Boot gRPC依赖

使用官方维护的gRPC Spring Boot Starter来简化集成,无需手动管理gRPC服务器的生命周期。

Maven依赖(pom.xml)

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>net.devh</groupId>
        <artifactId>grpc-server-spring-boot-starter</artifactId>
        <version>2.15.0.RELEASE</version> <!-- 请选用与Spring Boot版本兼容的最新版 -->
    </dependency>
</dependencies>

Gradle依赖(build.gradle)

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'net.devh:grpc-server-spring-boot-starter:2.15.0.RELEASE'
}

2. 修改gRPC服务实现类

将你的HelloServiceImpl改造为Spring管理的Bean,用@GrpcService注解标记,让Spring自动完成服务注册:

package com.example.demo.services;

import com.example.demo.HelloRequest;
import com.example.demo.HelloResponse;
import com.example.demo.HelloServiceGrpc;
import net.devh.boot.grpc.server.service.GrpcService;

@GrpcService
public class HelloServiceImpl extends HelloServiceGrpc.HelloServiceImplBase {

    @Override
    public void hello(HelloRequest request, io.grpc.stub.StreamObserver<HelloResponse> responseObserver) {
        String greeting = "Hello, " + request.getFirstName() + " " + request.getLastName();
        HelloResponse response = HelloResponse.newBuilder().setMessage(greeting).build();
        responseObserver.onNext(response);
        responseObserver.onCompleted();
    }
}

3. 创建Spring Boot启动类

删除原有的GrpcServer类,替换为标准的Spring Boot启动类:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class GrpcSpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(GrpcSpringBootApplication.class, args);
    }
}

4. 配置gRPC服务端口(可选)

如果需要沿用原来的8080端口,在配置文件中指定:

application.properties

grpc.server.port=8080

application.yml

grpc:
  server:
    port: 8080

5. 验证集成效果

启动Spring Boot应用后,直接运行你原有的GrpcClient类,即可与集成后的gRPC服务通信,确认服务正常响应。


内容的提问来源于stack exchange,提问作者Rafael Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:20:16