dubbo源代码分析-dubbo客户端初始化

我们先来看一个dubbo接口在spring中的配置

<dubbo:reference id="userStatService" interface="com.UserStatService" version="2.0.1"/>

spring在解析这个标签的时候,会去namespace的列表中查询,查询得到其所属的namespace为http://code.alibabatech.com/schema/dubbo

dubbo源代码分析-dubbo客户端初始化

如图从上图中查询到对应的NamespaceHandler,对上面的标签进行处理,如果是reference,最终生成bean定义,注册到beanFactory中。看下bean定义

dubbo源代码分析-dubbo客户端初始化

看下这个Name为userStatService在beanFactory中的情况

dubbo源代码分析-dubbo客户端初始化

ReferenceFactoryBean实现了FactoryBean

我们写一类,依赖UserStateService

@Controller
public class HomeAction {

    @Autowired
    UserStatService userStatService;

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String testD(Locale locale, Model model) {
    userStatService.countRegister();
    return "";
    }
}
我们看**入的这个userStatService到底是啥

dubbo源代码分析-dubbo客户端初始化

显然又是利用了动态代理,生成的代理对象为[email protected],对应的代理类实现了UserStateService,继承了Proxy.