共同点:

         都是接口

区别:

      BeanFactory 以Factory结尾,表示它是一个工厂类,用于管理Bean的一个工厂

             在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。

     对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,

             它的实现与设计模式中的工厂模式和修饰器模式类似。

 

1、 BeanFactory

     BeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接口,也就是Spring IOC所遵守的最底层和最基本的编程规范

     它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

    在Spring代码中,BeanFactory只是个接口,并不是IOC容器的具体实现,

          但是Spring容器给出了很多种实现,如 DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,都是附加了某种功能的实现。

 

package org.springframework.beans.factory;

import org.springframework.beans.BeansException;
import org.springframework.core.ResolvableType;

public interface BeanFactory {
    String FACTORY_BEAN_PREFIX = "&";

    Object getBean(String var1) throws BeansException;

    <T> T getBean(String var1, Class<T> var2) throws BeansException;

    <T> T getBean(Class<T> var1) throws BeansException;

    Object getBean(String var1, Object... var2) throws BeansException;

    <T> T getBean(Class<T> var1, Object... var2) throws BeansException;

    boolean containsBean(String var1);

    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;

    Class<?> getType(String var1) throws NoSuchBeanDefinitionException;

    String[] getAliases(String var1);
}
View Code

相关文章:

  • 2021-07-20
  • 2021-11-07
  • 2022-12-23
  • 2021-07-29
  • 2021-07-11
  • 2022-12-23
  • 2021-10-28
猜你喜欢
  • 2021-11-10
  • 2021-08-28
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-11-18
  • 2022-01-21
相关资源
相似解决方案