Spring中的Bean获取与实例化



ApplicationContext与BeanFactory关系

Spring中的Bean获取与实例化




ApplicationContext它是扩展BeanFactory接口。

BeanFactory它采取延迟加载的方案,只有真正在getBean时才会实例化Bean

 


在开发中我们一般使用的是ApplicationContext,真正使用的是其实现类,

FileSystemXmlAppliCationContext 根据文件路径获取

ClassPathXmlApplicationContext  根据类路径获取

AppliCationContext它会在配置文件加载时,就会初始化Bean,并且ApplicationContext它提供不同的应用层的Context实现。例如在web开发中可以使用WebApplicationContext.





Bean的实例化方式

无参数构造

对于这种方式,注意Bean类中必须提供无参数构造。

Spring中的Bean获取与实例化


静态工厂方法

需要创建一个工厂类,在工厂类中提供一个static返回bean对象的方法就可以。

Spring中的Bean获取与实例化Spring中的Bean获取与实例化



实例工厂方法

需要创建一个工厂类,在工厂类中提供一个非static的创建bean对象的方法,在配置文件中需要将工厂配置,还需要配置bean

Spring中的Bean获取与实例化Spring中的Bean获取与实例化