使用dubbo的@reference注解时发现无法注入。
这是服务提供者的service注解,是com.alibaba.dubbo.config.annotation包下的
@Service(version = "1.0.0")
public class RecommendUserApiImpl implements RecommendUserApi {
这是服务消费者的Reference注解
@Service //spring框架提供的注解
public class RecommendUserService {
@Reference(version = "1.0.0")
private RecommendUserApi recommendUserApi;//应用dubbo提供的服务
最后运行发现recommendUserApi注入失败,显示空指针异常
原因
最后发现是由于没有使用注册中心,采用直连方式,所以要在reference注解中指定url,指定了url后先启动提供者,在启动消费者就可以注入了。
@Service //spring框架提供的注解
public class RecommendUserService {
@Reference(url = "dubbo://127.0.0.1:20880",version = "1.0.0")
private RecommendUserApi recommendUserApi;//应用dubbo提供的服务