AbstractApplicationContext源码解析第三讲
引言
ClassPathResource内部有3变量,一个为类资源路径path(String),一个类机载器classLoader(ClassLoader),一个为资源类clazz(Class<?> ),
同时提供根据3个内部变量构成类路径资源的构造。获取类路径资源URL,如果资源类不为空,从资源类的类加载器获取资源,否则从从类加载器加载资源,如果还不能加载资源,则从从系统类加...
AbstractApplicationContext源码解析第二讲
引言
DisposableBean主要提供的销毁操作,一般用于在bean析构单例bean的时候调用,以释放bean关联的资源。
默认资源加载器DefaultResourceLoader内部有两个变量,一个为类加载器 classLoader(ClassLoader),一个为协议解决器集合 *protocolResolvers(LinkedHashSet(4))* ,协议解决器集合初始siz...
AbstractApplicationContext源码解析第一讲
引言
BeanDefinition接口用于描述一个bean实例的属性及构造参数等元数据;主要提供了父beanname,bean类型名,作用域,懒加载,
bean依赖,自动注入候选bean,自动注入候选主要bean熟悉的设置与获取操作。同时提供了判断bean是否为单例、原型模式、抽象bean的操作,及获取bean的描述,资源描述,属性源,构造参数,原始bean定义等操作。
上一篇文章我...
BeanDefinition接口定义
引言
先来回顾一下,上一篇文章MutablePropertySources定义,MutablePropertySources为属性源Holder PropertySource的具体实现,内部通过一个属性源集合(CopyOnWriteArrayList)来管理内部的属性源,主要提供添加、移除、替换、是否包含属性源操作,这些操作实际上通过 CopyOnWriteArrayList 的相应操作完成...
MutablePropertySources定义
引言
ConfigurableConversionService接口主要是用于加强 ConversionService
暴露的可读操作,为添加和移除转换器Converter提供便利,而没有提供除 ConversionService 和 ConverterRegistry 之外的操作。
在ConfigurableApplicationContext接口定义这篇文章中,我们有讲到配置环境接...
ConfigurableConversionService接口定义
引言
先来回顾一下上一篇文章[ConfigurableListableBeanFactory接口定义][],ConfigurableListableBeanFactory接口主要提供了,注册给定自动注入值的依赖类型,决定给定name的对应bean,是否可以作为其他bean中声明匹配的自动依赖注入类型的候选,此操作检查祖先工厂。获取给定name的bean的定义,忽略给定类型或接口的依赖自动注入...
ConfigurableListableBeanFactory接口定义
引言
ConfigurableApplicationContext具备应用上下文 ApplicationContex 相关操作以外,同时具有了生命周期和流属性。除此之外,
提供了设置应用id,设置父类上下文,设置环境 ConfigurableEnvironment,添加应用监听器,添加bean工厂后处理器 BeanFactoryPostProcessor,添加协议解决器 ProtocolR...
ConfigurableApplicationContext接口定义
引言
上一篇文章,我们看了AutowireCapableBeanFactory接口,主要提供的创建bean实例,自动装配bean属性,应用bean配置属性,初始化bean,应用bean后处理器 BeanPostProcessor ,解决bean依赖和销毁bean操作。对于自动装配,主要提供了根据bean的name,类型和构造自动装配方式。一般不建议在在代码中直接使用AutowireCapab...
AutowireCapableBeanFactory接口定义
ApplicationContext接口定义
引言
上一篇文章我们看了ApplicationContext接口定义接口及其父类接口的定义,先来回顾一下:
ApplicationContext接口主要提供了获取父上下文,自动装配bean工厂 AutowireCapableBeanFactory,应用上下文name,展示name,启动时间戳及应用id的操作。应用上下文继承了 Environ...
ApplicationContext接口定义
引言
ClassPathXmlApplicationContext声明
上一篇文中我们,我们看了ClassPathXmlApplicationContext声明,并整理出ClassPathXmlApplicationContext的类图,ClassPathXmlApplicationContext直接或间接地实现了 EnvironmentCapable, ListableBeanFacto...