Spring源码解析之常见的方法

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);
原文地址:https://www.cnblogs.com/yaohuiqin/p/10521445.html