BeanFactory与FactoryBean区别

1、BeanFactory主要用于创建和管理spring bean,它自身不属于bean(不被Spring容器所管理)。提供api来管理bean。例如context.getBean(beanName)等

2、FacotoryBean本身是属于一个bean,它是被Spring容器所管理,但它与普通spring管理的bean有所不同,把它的实现类注入到Spring容器后,会存在两个bean

  • 一个就是它自身bean,要从Spring容器中获取到该实例对象的方式为:context.getBean("&facotryBean"); 此处必须要添加“”&“”,不然就获取不到其自身bean实例,而是获取到它的getObject方法返回的实例对象了
  • 一个就是它的getObject()方法返回的对象,要从Spring容器获取该实例的方式为:context.getBean("factoryBean");
原文地址:https://www.cnblogs.com/yuefeng123/p/13573790.html