dubbo源代码分析-dubbo客户端初始化
我们先来看一个dubbo接口在spring中的配置
<dubbo:reference id="userStatService" interface="com.UserStatService" version="2.0.1"/>
spring在解析这个标签的时候,会去namespace的列表中查询,查询得到其所属的namespace为http://code.alibabatech.com/schema/dubbo
如图从上图中查询到对应的NamespaceHandler,对上面的标签进行处理,如果是reference,最终生成bean定义,注册到beanFactory中。看下bean定义
看下这个Name为userStatService在beanFactory中的情况
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到底是啥
显然又是利用了动态代理,生成的代理对象为[email protected],对应的代理类实现了UserStateService,继承了Proxy.