0xTTEPX

Just do it, deeply...

Follow me on GitHub

AbstractApplicationContext源码解析第三讲

Jan 4, 2018 by donaldhan

引言 ClassPathResource内部有3变量,一个为类资源路径path(String),一个类机载器classLoader(ClassLoader),一个为资源类clazz(Class<?> ), 同时提供根据3个内部变量构成类路径资源的构造。获取类路径资源URL,如果资源类不为空,从资源类的类加载器获取资源,否则从从类加载器加载资源,如果还不能加载资源,则从从系统类加...

AbstractApplicationContext源码解析第二讲

Dec 27, 2017 by donaldhan

引言 DisposableBean主要提供的销毁操作,一般用于在bean析构单例bean的时候调用,以释放bean关联的资源。 默认资源加载器DefaultResourceLoader内部有两个变量,一个为类加载器 classLoader(ClassLoader),一个为协议解决器集合 *protocolResolvers(LinkedHashSet(4))* ,协议解决器集合初始siz...

AbstractApplicationContext源码解析第一讲

Dec 27, 2017 by donaldhan

引言 BeanDefinition接口用于描述一个bean实例的属性及构造参数等元数据;主要提供了父beanname,bean类型名,作用域,懒加载, bean依赖,自动注入候选bean,自动注入候选主要bean熟悉的设置与获取操作。同时提供了判断bean是否为单例、原型模式、抽象bean的操作,及获取bean的描述,资源描述,属性源,构造参数,原始bean定义等操作。 上一篇文章我...

BeanDefinition接口定义

Dec 26, 2017 by donaldhan

引言 先来回顾一下,上一篇文章MutablePropertySources定义,MutablePropertySources为属性源Holder PropertySource的具体实现,内部通过一个属性源集合(CopyOnWriteArrayList)来管理内部的属性源,主要提供添加、移除、替换、是否包含属性源操作,这些操作实际上通过 CopyOnWriteArrayList 的相应操作完成...

MutablePropertySources定义

Dec 25, 2017 by donaldhan

引言 ConfigurableConversionService接口主要是用于加强 ConversionService 暴露的可读操作,为添加和移除转换器Converter提供便利,而没有提供除 ConversionService 和 ConverterRegistry 之外的操作。 在ConfigurableApplicationContext接口定义这篇文章中,我们有讲到配置环境接...

ConfigurableConversionService接口定义

Dec 24, 2017 by donaldhan

引言 先来回顾一下上一篇文章[ConfigurableListableBeanFactory接口定义][],ConfigurableListableBeanFactory接口主要提供了,注册给定自动注入值的依赖类型,决定给定name的对应bean,是否可以作为其他bean中声明匹配的自动依赖注入类型的候选,此操作检查祖先工厂。获取给定name的bean的定义,忽略给定类型或接口的依赖自动注入...

ConfigurableListableBeanFactory接口定义

Dec 22, 2017 by donaldhan

引言 ConfigurableApplicationContext具备应用上下文 ApplicationContex 相关操作以外,同时具有了生命周期和流属性。除此之外, 提供了设置应用id,设置父类上下文,设置环境 ConfigurableEnvironment,添加应用监听器,添加bean工厂后处理器 BeanFactoryPostProcessor,添加协议解决器 ProtocolR...

ConfigurableApplicationContext接口定义

Dec 20, 2017 by donaldhan

引言 上一篇文章,我们看了AutowireCapableBeanFactory接口,主要提供的创建bean实例,自动装配bean属性,应用bean配置属性,初始化bean,应用bean后处理器 BeanPostProcessor ,解决bean依赖和销毁bean操作。对于自动装配,主要提供了根据bean的name,类型和构造自动装配方式。一般不建议在在代码中直接使用AutowireCapab...

AutowireCapableBeanFactory接口定义

Dec 19, 2017 by donaldhan

ApplicationContext接口定义 引言 上一篇文章我们看了ApplicationContext接口定义接口及其父类接口的定义,先来回顾一下: ApplicationContext接口主要提供了获取父上下文,自动装配bean工厂 AutowireCapableBeanFactory,应用上下文name,展示name,启动时间戳及应用id的操作。应用上下文继承了 Environ...

ApplicationContext接口定义

Dec 19, 2017 by donaldhan

引言 ClassPathXmlApplicationContext声明 上一篇文中我们,我们看了ClassPathXmlApplicationContext声明,并整理出ClassPathXmlApplicationContext的类图,ClassPathXmlApplicationContext直接或间接地实现了 EnvironmentCapable, ListableBeanFacto...