springbean的生命周期_Spring Bean 生命周期之“我从哪里来?”

Spring bean 的生命周期很容易理解。实例化 bean 时,可能需要执行一些初始化以使其进入可用 (Ready for Use)状态。类似地,当不再需要 bean 并将其从容器中移除时,可能需要进行一些清理,这就是它的生命周期

19c254f0872435b50e370f7c2789a0d2.png

上一篇文章 面试还不知道BeanFactory和ApplicationContext的区别? 中说明了接口 Beanfactory 和 Applicationcontext 可以通过 T getBean(String name, Class requiredType) 方法从 Spring 容器中获取bean,区别是,前者是懒加载形式,后者是预加载的形式。那么问题来了:

这些 Spring Beans 是怎么生成出来的呢?

在正式回答这个问题之前,先解答一些有关 Java Bean, Spring Bean 和 Spring IoC 容器这些概念性的疑惑,我希望通过下面这个例子形象说明这些问题:

小学生 (Java Bean)通过提交资料申请(元数据配置)加入了少先队(Spring Ioc 容器),学习了一些精神与规定之后,变成了少先队员(Spring Bean)

从这里可以看出,Java Bean 和 Spring Bean 都是具有特定功能的对象,小学生还是那个小学生,只不过加入了少先队之后有了新的身份,新的身份要按照组织 (Spring Ioc)的规定履行特定义务

来看下图加深一下了解

4e024e3685263e1be851c473cecbb8b1.png

首先要有容器,实例化 Spring Ioc 容器是非常简单的,接口 org.springframework.context.ApplicationContext 表示Spring IoC容器,负责实例化,配置和组装上述 bean。 容器通过读取配置元数据获取有关要实例化,配置和组装的对象的指令。 配置元数据通常以XML,Java 注解或代码的形式表示。 它允许你自己表达组成应用程序的对象以及这些对象之间丰富的相互依赖性,比如这样:

ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"spring.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值