上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页
摘要: SpringBoot从宏观上说,就是对spring容器进行了一层包装。它内部的入口是利用 SpringApplication类的static的 run 方法进行启动的,调用的图: 上图中的这些方法都位于org.springframework.boot.SpringApplication这个类中,由此 阅读全文
posted @ 2017-10-26 17:26 杭州胡欣 阅读(563) 评论(0) 推荐(0) 编辑
摘要: Spring Boot介绍 Spring Boot是由Pivotal团队提供的新框架,其设计目的是简化Spring应用的搭建以及开发过程。其目标是: 为所有Spring开发提供一个从根本上更快,且方便上手的体验 开箱即用,摆脱原有的默认配置方式 提供大型项目常用的非功能性特征,例如:内嵌服务器,安全 阅读全文
posted @ 2017-10-23 17:52 杭州胡欣 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 今天在看dubbo的源码过程中,看到它提供了一个正则式来匹配用户配置的注册中心的地址,这个正则式代码是在一个常量类com.alibaba.dubbo.common.Constants中, 调用的代码是在UrlUtils类中 这个正则式的作用这里分析一下: \s : 表示一个或多个空白字符 * : 匹 阅读全文
posted @ 2017-10-17 15:54 杭州胡欣 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 在doExport方法中,对要暴露的服务进行了一系列的检查,检查provider,application,module,registries,monitor这些参数是否为空,是否是GenericService类型的服务,检查要注册的bean的引用和方法等。在方法的最后会调用doExportUrls方 阅读全文
posted @ 2017-10-16 17:50 杭州胡欣 阅读(1171) 评论(3) 推荐(0) 编辑
摘要: ServiceConfig类中的export()方法,是dubbo服务暴露的入口方法,被触发的时机有两个: 1. spring容器初始化完成所有的bean实例后,通过事件机制触发 2. 实现InitializingBean的方法中进行触发 export()方法源码如下: 通过查看源码可知,expor 阅读全文
posted @ 2017-10-16 10:28 杭州胡欣 阅读(723) 评论(0) 推荐(0) 编辑
摘要: ServiceBean的afterPropertiesSet方法是实现了InitializingBean,还是准备先做宏观分析,然后再做细致分析。下面先宏观分析: 通过上面的分析对整个方法在做什么有了大致的了解, 下面进行细致分析,对里面的一段段代码分别展开分析: 1 . 获取Provider配置 阅读全文
posted @ 2017-09-27 17:15 杭州胡欣 阅读(1209) 评论(0) 推荐(0) 编辑
摘要: 从上文中可知,com.alibaba.dubbo.config.spring.ServiceBean类是负责解析<dubbo:service/>的配置的,下面是它的类图 从类图上可知它继承了ServiceConfig类,并实现了5个接口,在这5个接口中有两个接口与服务暴露有关Initializing 阅读全文
posted @ 2017-09-26 17:51 杭州胡欣 阅读(532) 评论(0) 推荐(0) 编辑
摘要: dubbo的配置其实就是建立在spring的命名空间的配置机制之上的。在dubbo的jar包的META-INF目录下会有spring.handlers这个文件,用来配置spring的命名空间和解析类的对应关系。打开spring.handlers文件,可知dubbo的命名空间配置的处理类为com.al 阅读全文
posted @ 2017-09-25 17:49 杭州胡欣 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: 在 ExtensionLoader 类的loadFile方法中有下图的这段代码: 类如现在这个ExtensionLoader中的type 是Protocol.class,也就是SPI接口的实现类中XxxProtocol类中有这样的构造函数 public XxxProtocol ( Protocol 阅读全文
posted @ 2017-09-22 17:51 杭州胡欣 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 总结: 1. 获取某个SPI接口的adaptive实现类的规则是: (1)实现类的类上面有Adaptive注解的,那么这个类就是adaptive类 (2)实现类的类上面没有Adaptive注解,但是在方法上有Adaptive注解,则会动态生成adaptive类 2 .生成的动态类的编译类是:com.alibaba.dubbo.common.compiler.support.AdaptiveCompiler类 3. 动态类的本质是可以做到一个SPI中的不同的Adaptive方法可以去调不同的SPI实现类去处理。使得程序的灵活性大大提高。这才是整套SPI设计的一个精华之所在 阅读全文
posted @ 2017-09-21 14:30 杭州胡欣 阅读(2534) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页