首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grpc Spring Boot Starter

Grpc Spring Boot Starter
EN

Stack Overflow用户
提问于 2019-11-10 07:28:45
回答 1查看 1.1K关注 0票数 1

我正在尝试将grpcService集成到我的spring boot应用程序中。在这个服务类中,我有一个jpaRepository,它是@Autowired。当我运行服务器时,没有注入这个存储库(当我试图使用它时,它是null )。

代码语言:javascript
复制
@Service
public class MedicationPlanService extends medicationPlanGrpc.medicationPlanImplBase {

    @Autowired
    private MedicationPlanRepository medicationPlanRepository;


    @Override
    public void hello(MedicationPlan.HelloRequest request, StreamObserver<MedicationPlan.HelloResponse> responseObserver) {
        List<MedicationPlan> medicationPlans = medicationPlanRepository.findAll();


        MedicationPlan.HelloResponse.Builder response = MedicationPlan.HelloResponse.newBuilder();

        response.setResponseMessage("hello");

        responseObserver.onNext(response.build());
        responseObserver.onCompleted();
    }
}
代码语言:javascript
复制
@Component
public class GrpcServerStartConfiguration {

    @PostConstruct
    public void startGrpcServer() throws IOException, InterruptedException {
        Server server = ServerBuilder.forPort(9091).addService(new MedicationPlanService()).build();
        server.start();
        System.out.println("gRPC server started");
        server.awaitTermination();
    }
}

当我尝试使用medicationPlanRepository时,我意识到它是空的。提前感谢:)。

EN

回答 1

Stack Overflow用户

发布于 2019-11-10 07:38:32

因为您是用“MedicationPlanService”创建新的,所以它变成了一个简单的对象,而不是一个bean。像DI这样的东西不会以这种方式工作。

正确初始化这两个类(通过@Configuration类中的@ComponentScan或@Bean )。然后将MedicationPlanService注入到GrpcServerStartConfiguration中。后者您可以将其标记为@Configuration,以便更好地理解btw。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58784471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档