Spring Bean工厂的接口
目录
2、AutowireCapableBeanFactory接口
6、ConfigurableListableBeanFactory接口
Spring bean工厂接口使用了设计模式中的简单工厂模式,所有的接口都以Factory结尾。
1、BeanFactory接口
Spring中的BeanFactory是bean工厂的顶级接口,它定义了bean工厂的基本职能。具有方法如下:
2、AutowireCapableBeanFactory接口
AutowireCapableBeanFactory接口是BeanFactory的子接口,它扩展了BeanFactory的功能,使bean工厂对bean具有自动注入的功能。在这个接口中定义了5种bean的依赖注入策略分别是:
- AUTOWIRE_NO:不自动注入
- AUTOWIRE_BY_NAME:按照bean属性的名称注入
- AUTOWIRE_BY_TYPE:按照bean属性的类型注入
- AUTOWIRE_CONSTRUCTOR:通过bean的构造器注入
- AUTOWIRE_AUTODETECT:自动侦测注入(已经废弃)
3、ListableBeanFactory接口
ListableBeanFactory作为BeanFactory的子接口,扩展了其功能,可以枚举bean工厂中所有的bean实例。预加载所有bean定义的bean工厂(例如基于xml配置的工厂)可以实现这个接口。(看下图,嘻嘻)
4、HierarchicalBeanFactory接口
HierarchicalBeanFactory作为BeanFactory的子接口,扩展了BeanFactory的功能,使bean工厂具有了父子层次关系。
getParentBeanFactory()方法用于获取父bean工厂。
containsLocalBean(String)方法用于判断该bean工厂中是否存在指定的bean,不会去父bean工厂中查找。
5、ConfigurableBeanFactory接口
ConfigurableBeanFactory可配置的bean工厂,继承了HierarchicalBeanFactory接口,使bean工厂具有可配置的功能。具有的方法如下:
6、ConfigurableListableBeanFactory接口
ConfigurableListableBeanFactory接口同时继承了ListableBeanFactory、AutowireCapableBeanFactory和ConfigurableBeanFactory,这意味着它同时具有这三个接口的功能,并在此基础上增加了额外的功能。
7、Spring bean工厂接口之间的继承关系
在上边简单介绍了各个接口,下面的UML类图清楚的表示了它们之间的关系。
最后,感谢IDEA这款强大的开发工具,节省了我画UML图的时间。