BeanFactory
Spring IoC容器的設計主要是基於BeanFactory
和Application
倆個接口的,其中ApplicationContext
是BeanFactory
的子接口之一,也就是說BeanFactory
是Spring IoC容器的最底層接口。
public interface BeanFactory {
String FACTORY_BEAN_PREFIX = "&";
//getBean的多個方法用於獲取配置給Spring IoC容器的Bean。
Object getBean(String var1) throws BeansException;
<T> T getBean(String var1, Class<T> var2) throws BeansException;
Object getBean(String var1, Object... var2) throws BeansException;
<T> T getBean(Class<T> var1) throws BeansException;
<T> T getBean(Class<T> var1, Object... var2) throws BeansException;
<T> ObjectProvider<T> getBeanProvider(Class<T> var1);
<T> ObjectProvider<T> getBeanProvider(ResolvableType var1);
boolean containsBean(String var1);
//判斷是否是單例,如果判斷成功,該Bean只存在一個Bean實例存在
boolean isSingleton(String var1) throws NoSuchBeanDefinitionException;
//
boolean isPrototype(String var1) throws NoSuchBeanDefinitionException;
boolean isTypeMatch(String var1, ResolvableType var2) throws NoSuchBeanDefinitionException;
boolean isTypeMatch(String var1, Class<?> var2) throws NoSuchBeanDefinitionException;
@Nullable
Class<?> getType(String var1) throws NoSuchBeanDefinitionException;
//獲取別名
String[] getAliases(String var1);
}
Spring IoC 容器(二)HierarchicalBeanFactory