引言
上一篇分析了springIOC相关的核心接口,下面分析一下这些接口中用到的一些相关的类。
-
boolean BeanFactory .isTypeMatch(String name, ResolvableType typeToMatch)
ResolvableType 可以看做spring对class类的增强,提供了一些spring需要的一些方法。比如:
– boolean isAssignableFrom():判断是否是某个指定类型的附列
– ResovableType getSuperType() : 获取父类的类型
…
另外提供了一些静态方法,方便初始化
– static ResovableType forClass();
– static ResovableType forField();
…
-
NamedBeanHolder AutowireCapableBeanFactory .resolveNamedBean(Class requiredType)
NamedBeanHolder 是对实体类的简单封装,让每个实体类有一个对应的名字
spring源码--IOC容器的实现:概述(2)引言 -
Object AutowireCapableBeanFactory .resolveDependency(DependencyDescriptor descriptor, String requestingBeanName) throws BeansException;
DependencyDescriptor 封装了依赖注入的相关信息,包括需要被注入的属性名称,被注入的class,是否是懒注入等等。
TypeConverter 是个接口,负责将值转换为特定类型spring源码--IOC容器的实现:概述(2)引言 spring源码--IOC容器的实现:概述(2)引言 -
void ConfigurableBeanFactory .setBeanExpressionResolver(BeanExpressionResolver resolver);
BeanExpressionResolver 是将el表达式转换为值得接口,该接口只有一个方法
spring源码--IOC容器的实现:概述(2)引言 -
void ConfigurableBeanFactory .setConversionService(ConversionService conversionService);
ConversionService 将指定类型转换为特定类型
-
void ConfigurableBeanFactory .registerCustomEditor(Class requiredType, Class< ? extends PropertyEditor> propertyEditorClass);
PropertyEditor 属性编辑器,配合TypeConverter 和 ConversionService 来对spring容器里的bean进行属性赋值。
-
void ConfigurableBeanFactory .addEmbeddedValueResolver(StringValueResolver valueResolver);
StringValueResolver 解析String类型的值,比如解析placeholders
-
void ConfigurableBeanFactory .addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
BeanPostProcessor 是个重要的接口,赋值bean的后置处理,之后会详细分析。
-
Resource ResourceLoader .getResource(String location);
Resource 封装了spring资源文件的相关信息,比如路径,输入流等。
-
Environment EnvironmentCapable .getEnvironment();
Environment 封装了环境信息,包括Profile
-
void ApplicationEventPublisher .publishEvent(ApplicationEvent event);
ApplicationEvent 是容器发送各种事件的父接口,比如容器刷新事件。
-
void ConfigurableApplicationContext .setEnvironment(ConfigurableEnvironment environment);
ConfigurableEnvironment 继承Environment,提供了设置profile的set,以及获取的get方法,另外提供了一些新的方法。
-
void ConfigurableApplicationContext .addBeanFactoryPostProcessor(BeanFactoryPostProcessor beanFactoryPostProcessor);
BeanFactoryPostProcessor beanFactory的后置处理器,很重要的接口。之后详细分析
-
void ConfigurableApplicationContext .addApplicationListener(ApplicationListener<?> listener);
ApplicationListener 容器的监听器。
以上是上篇接口中出现的相关实体类。