在IOC容器的初始化过程中,主要的工作是对BeanDefinition的定位、载入、解析和注册。此时,也会对非懒加载的单例bean进行加载初始化,其他情况下,只有用户需要时才会被调用。
- 2019年8月26日...阅读全文
Spring的循环依赖问题
2019年8月24日...阅读全文Spring源码之Bean加载
2019年8月24日...阅读全文在前面的文章中已经讲解了IOC容器的创建和Bean的注册,将XML文件中的信息封装成了BeanDefinition类型存储起来,但现在还不能正常使用,此时就需要进行Bean的加载,将BeanDefinition转化成可用的Object。
实际上这也是个依赖注入的过程,在IOC初始化过程中,会初始化单例bean,但当lazy-init=“true”或者bean为原型bean时,只有在需要时,才会被依赖注入。即当应用程序需要依赖的bean时,它就会向IOC容器进行索要,然后IOC容器就会将该Bean注入到应用程序中。Spring源码之bean标签的解析与注册
2019年8月23日...阅读全文Spring源码之Bean容器的基本实现
2019年8月17日...阅读全文XmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现,对于XmlBeanFactory,使用了自定义的XML读取器XmlBeanDefinitionReader,实现了个性化的BeanDefinitionReader读取。
Dubbo之心跳机制
2019年8月9日...阅读全文在网络传输中,怎么确保通道连接的可用性是一个很重要的问题,简单的说,在网络通信中有客户端和服务端,一个负责发送请求,一个负责接收请求,在保证连接有效性的背景下,这两个物体扮演了什么角色,心跳机制能有效的保证连接的可用性,那它的机制是什么,下文中将会详细讲解。
Dubbo-服务注册中心之AbstractRegistry
2019年7月29日...阅读全文在dubbo中,关于注册中心Registry的有关实现封装在了dubbo-registry模块中。提供者(Provider)个消费者(Consumer)都是通过注册中心进行资源的调度。当服务启动时,provider会调用注册中心的register方法将自己的服务通过url的方式发布到注册中心,而consumer订阅其他服务时,会将订阅的服务通过url发送给注册中心(URL中通常会包含各种配置)。当某个服务被关闭时,它则会从注册中心中移除,当某个服务被修改时,则会调用notify方法触发所有的监听器。
Dubbo之@Adaptive适配器类实现解析
2019年7月26日...阅读全文在上一篇中讲解了关于Dubbo的SPI机制,在其中有一个很重要的注解@Adaptive,这是一个装饰器,通过此类来获取实现扩展类的具体实现类的方法。因为用到了设计模式中的适配器模式,所以打算独立出来写一篇。