用于访问Spring Bean容器的顶级接口。这是Bean容器的基本客户端视图。更进一步的接口如:ListableBeanFactory,ConfigurableBeanFactory 可用于特殊目的。这个接口是由保存多个bean定义的对象实现的,每个对象都由字符串名称唯一标识。哪种类型的实例将返回取决于bean工厂配置:API是相同的。自Spring2.0以来,根据具体的应用程序上下文(例如,web环境中的“request”和“session”范围),还可以使用其他范围。BeanFactory是应用程序组件的中央注册中心,并且集中了应用程序组件的配置(例如,不再需要单个对象读取属性文件)。
注意,通常最好依赖注入通过设置器(set)或构造函数配置应用程序对象,而不是使用任何形式的“pull”配置,如BeanFactory查找。Spring的依赖注入功能是使用这个BeaS工厂接口及其子接口实现的。
通常,BeanFactory将加载存储在配置源(例如XML文档)中的bean定义,并使用{@code org.springframework.beans}包来配置bean。但是,一个实现可以简单地直接在Java代码中返回它创建的Java对象。对于如何存储定义没有限制:LDAP、RDBMS、XML、属性文件等。鼓励实现来支持bean之间的引用(依赖注入)。与{@link ListableBeanFactory}中的方法相比,该接口中的所有操作还将检查父工厂是否为{@link Hierarc