当前位置:首页 > 天道酬勤 > 正文内容

spring ioc原理(bean对象生命周期)

张世龙2021年12月20日 22:32天道酬勤270

Spring Bean的生命周期

实例化

1 .实例化一个Bean,也就是我们常说的new。

依赖于IOC的注入

2 .根据Spring上下文配置实例化Bean,也就是IOC注入。

实施setBeanName

3 .如果此Bean已经实现了BeanNameAware接口,则调用所实现的set beanname (字符串)

方法。 此处传递的是Spring配置文件中Bean的id值

beanfactory警报的实现

4 .如果此Bean已经实现了BeanFactoryAware接口,则调用所实现的setBeanFactory。

setBeanfactory(beanfactory )正在传递Spring工厂本身) )可以通过此方法获取其他bean。

只需在Spring配置文件中设置常规Bean )。

应用程序连接插件的实现

5 .如果此Bean已经实现了应用程序连接接口,将调用

将setapplicationcontext (application context )方法传递给Spring上下文(同样地

可以实现步骤4的内容,但由于应用上下文是BeanFactory的子代,因此比4更好

口,有更多的实现方法)

实现postprocessbeforeinitialization接口-初始化预处理

6 .如果此Bean具有关联的bean post处理器接口,将调用

beanpostprocessbeforeinitialization (对象字符串)方法在BeanPostProcessor中很常用

这是对Bean内容的更改,它是在Bean初始化结束时调用它的方法,因此也可以进行应对

用于内存或缓存技术。

初始化方法

如果Bean在Spring配置文件中设置了init-method属性,则会自动调用该设置的初始化方法。

postProcessAfterInitialization

8 .如果此Bean具有关联的bean post处理器接口,将调用

postprocessafterinitialization (对象字符串)方法。

注意:完成以上操作后,可以应用此Bean。 那么,由于这个Bean是单个,所以1

通常,调用具有相同id的Bean是内容地址相同的实例。 当然,在Spring配置文件中

也可以配置非Singleton。

Destroy过期自动清理阶段

9 .不再需要bean时,如果经过清理阶段,bean实现了名为DisposableBean的接口,则会进行调整

使用它实现的destroy ()方法;

删除方法自配置清理

10 .最后,如果为此Bean的Spring配置了destroy-method属性,则会自动调用该配置

销毁方法。

11. bean标签有两个重要的属性:初始化方法和删除方法。 可以自己定制

初始化和注销方法。 这些也有适当的评论@PostConstruct和@PreDestroy )。

bean id=' '类=' ' init-method='初始化方法' destroy-method='销毁方法'

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25916.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。