1、BeanFactory接口(访问Bean容器的客户端视图)
Object getBean(String name) throws BeansException;
<T> T getBean(String name, Class<T> requiredType) throws BeansException;
(如:beanFactory.getBean(ppName, BeanDefinitionRegistryPostProcessor.class) )
<T> T getBean(Class<T> requiredType) throws BeansException;
boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException;
(如:beanFactory.isTypeMatch(beanName, ResolvableType.forRawClass(type)); 检查具有给定名称的bean是否与指定的类型匹配。
)
2、AbstractBeanFactory抽象类(BeanFactory接口)
protected RootBeanDefinition getMergedLocalBeanDefinition(String beanName) throws BeansException;(返回合并的RootBeanDefinition)
3、ListableBeanFactory接口(继承BeanFactory接口)
String[] getBeanNamesForType(Class<?> type, boolean includeNonSingletons, boolean allowEagerInit);
(返回与给定类型(包括子类)匹配的bean的名称,从bean定义或FactoryBeans的getObjectType值判断。)
4、BeanDefinitionRegistry接口:
RootBeanDefinition rootBeanDefinition = new RootBeanDefinition(AddedBean.class); registry.registerBeanDefinition("myaddBeanDefinition",rootBeanDefinition);