java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > BeanFactory对象实例化工厂

Spring中的BeanFactory对象实例化工厂详解

作者:军伟@

这篇文章主要介绍了Spring中的BeanFactory对象实例化工厂详解,BeanFactory及其子类是Spring IOC容器中最重要的一个类,BeanFactory由类名可以看出其是一个Bean工厂类,其实它确实是一个Bean工厂类,完成Bean的初始化操作,需要的朋友可以参考下

BeanFactory对象实例化工厂

BeanFactory及其子类是Spring IOC容器中最重要的一个类,BeanFactory由类名可以看出其是一个Bean工厂类,其实它确实是一个Bean工厂类,完成Bean的初始化操作。

Bean的初始化操作还是一个比较麻烦的操作,首先根据spring注入配置将bean初始化为单例或者原型,其次需要根据Bean的属性配置来完成Bean参数的注入配置,还有要解决单例模式下Bean的循环依赖的问题,原型模式下bean的循环依赖会直接报错。

BeanFactory接口及其实现类:

BeanFactory接口继承关系:

BeanFactory 是Spring bean容器的根接口.提供获取bean,是否包含bean,是否单例与原型,获取bean类型,bean 别名的api.

BeanFactory提供的接口如下:

public interface BeanFactory {
	String FACTORY_BEAN_PREFIX = "&";
	//根据名称获取bean
	Object getBean(String name) throws BeansException;
	//根据名称及类型获取类
	<T> T getBean(String name, Class<T> requiredType) throws BeansException;
	//根据类型获取类
	<T> T getBean(Class<T> requiredType) throws BeansException;
	Object getBean(String name, Object... args) throws BeansException;
	<T> T getBean(Class<T> requiredType, Object... args) throws BeansException;
	boolean containsBean(String name);
	//单例判断
	boolean isSingleton(String name) throws NoSuchBeanDefinitionException;
	//原型判断
	boolean isPrototype(String name) throws NoSuchBeanDefinitionException;
	//类型判断
	boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException;
	boolean isTypeMatch(String name, Class<?> typeToMatch) throws NoSuchBeanDefinitionException;
	Class<?> getType(String name) throws NoSuchBeanDefinitionException;
	String[] getAliases(String name);
}

总结:接下来我们通过几篇博客来介绍BeanFactory所提供的Bean实例化操作。

到此这篇关于Spring中的BeanFactory对象实例化工厂详解的文章就介绍到这了,更多相关BeanFactory对象实例化工厂内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文