欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Bean的获取与实例化

程序员文章站 2022-06-04 23:41:40
...

ApplicationContext与BeanFactory关系

Spring Bean的获取与实例化

ApplicationContext它是扩展BeanFactory接口。
BeanFactory它采取延迟加载的方案,只有真正在getBean时才会实例化Bean
我们一般使用的是ApplicationContext,真正使用的是其实现类,
FileSystemXmlAppliCationContext 根据文件路径获取
ClassPathXmlApplicationContext 根据类路径获取
AppliCationContext它会在配置文件加载时,就会初始化Bean,并且ApplicationContext它提供不同的应用层的Context实现。例如在web开发中可以使用WebApplicationContext.

Bean的实例化方式

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

<bean name="bean1" class="com.nwtxxb.bean.Bean1"></bean>

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

Spring Bean的获取与实例化

配置文件

<bean id="bean2" class="com.nwtxxb.bean.Bean2Factory" factory-method="createBean2"></bean>

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

Spring Bean的获取与实例化

<!--配置实例工厂-->
<bean name="bean3Factory" class="com.niwotaxuexiba.bean.bean3Factory"></bean>
<bean name="bean3" factory-bean="bean3Factory" factory-method="createBean3"></bean>
相关标签: spring bean