引言
上一篇分析了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 容器的監聽器。
以上是上篇接口中出現的相關實體類。