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