Spring中的Bean获取与实例化

本文详细介绍了Spring框架中的两种核心容器:ApplicationContext 和 BeanFactory。对比了它们之间的区别,如加载时机、Bean实例化方式等,并探讨了无参数构造、静态工厂方法及实例工厂方法等Bean实例化的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



ApplicationContext与BeanFactory关系






ApplicationContext它是扩展BeanFactory接口。

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

 


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

FileSystemXmlAppliCationContext 根据文件路径获取

ClassPathXmlApplicationContext  根据类路径获取

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





Bean的实例化方式

无参数构造

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




静态工厂方法

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




实例工厂方法

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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值