Dubbo+SpringBoot整合: 依赖注入Null Pointer Exception的问题

我用Dubbo+SpringBoot搭建微服务controller和service分别属于两个服务里面分别有如下类
@RestController
@RequestMapping("product")
publicclassProductController{
@Reference(version="1.0.0")
ProductServiceproductService;
@GetMapping("create")
publicStringcreateProduct(){
returnproductService.createProduct();
}
}
@Component
@Service(version="1.0.0")
publicclassProductServiceImplimplementsProductService{
@Override
publicStringcreateProduct(){
return"created";
}
}
我发现如果我先启动service服务,后启动controller服务,运行OK但是如果我先启动controller服务,后启动service服务,productService就是null,出现NullPointerException
我的理解是:因为service后启动,所以controller中的productService依赖注入时找不到实例,注入失败。但是这样的话,那假如有两个service微服务,A和B,A中的某个类需要B中某个类的服务,而B中某个类又需要A中某个类的服务,那谁先启动都会有问题啊。怎么回事?
慕婉清6462132
浏览 963回答 2
2回答

侃侃无极

springmvc注解和dubbo注解配置在两个不同的context导致的比较简单的解决办法是不要在controller里使用dubbo注解
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript