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");
posted @ 2020-08-27 20:27  scwyfy  阅读(261)  评论(0编辑  收藏  举报