BeanFactory时Spring框架最核心的接口,它提供了高级IoC的配置机制,使管理不同类型的Java对象成为了可能。我们一般称BeanFactory为IoC容器。
BeanFactory是Spring的基础设施,面向Spring本身。
一、BeanFactory的体系结构:
二、类图说明:
ListableBeanFactory:定义了访问容器中Bean基本信息的方法,查看Bean的个数、获取某一类型Bean的配置名,看容器中是否包含某一Bean等方法。
HierarchicalBeanFactory:父子级联IoC容器的接口,子容器可以通过接口方法访问父容器。
ConfigurableBeanFactory:增强了IoC容器的可定制性,定义了设置类装载器、属性编辑器、容器初始化后置处理器等方法。
AutowireCapableBeanFactory:定义了将容器中的Bean按某种规则进行自动装配的方法。
SingletonBeanFactory:定义了允许在运行期间向容器注册单实例Bean的方法。
BeanDefinitionRegistry:该接口提供了向容器中手工注册BeanDefinition的方法。
三、初始化BeanFactory:
bean.xml略去不写。
实例代码:
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource res = resolver.getResource("classpath:com/xxx/bean.xml"); BeanFactory bf = new XmlBeanFactory(res); Car car = bf.getBean("car", Car.class);