博客
关于我
Spring容器管理Bean的生命周期
阅读量:408 次
发布时间:2019-03-06

本文共 988 字,大约阅读时间需要 3 分钟。

我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。

生命周期:bean创建---初始化---销毁

构造(对象创建)

单实例:在容器启动的时候创建对象

多实例:在每次获取bean的时候创建对象

初始化

对象创建完成,并赋值好,调用初始化方法。

销毁

单实例:容器关闭的时候

多实例:容器不会管理这个bean,容器不会调用销毁方法。

 

1)指定初始化和销毁的方法:

通过@Bean指定init-methord和destory-methord;

2)通过让Bean实现InitializingBean(定义初始化逻辑),DisposableBean(定义销毁逻辑)

3)可以使用JSR250;

@PostConstruct : 在bean创建完成并且属性赋值完成,来执行初始化方法

@PreDestory : 在容器销毁bean之前通知我们进行清理工作

4)BeanPostProcessor 是bean的后置处理器,BeanPostProcessor 是一个接口,其中有俩方法postProcessBeforeInitialization和postProcessAfterInitialization,这俩方法是在Spring容器中的bean初始化前后执行,所以Spring容器中的每个bean对象初始化前后,都会执行BeanPostProcessor接口的实现类中的这俩方法。

 

在bean初始化前后进行一些处理工作:

postProcessBeforeInitialization: 在bean初始化前工作,这个方法会在bean实例化和属性设置之后,自定义初始化方法之前被调用。

postProcessAfterInitialization : 在bean初始化后工作,这个方法自定义初始化方法之后被调用。

BeanPostProcessor 作用:

后置处理器BeanPostProcessor 可用于bean对象初始化前后进行逻辑增强。Spring提供了BeanPostProcessor 接口的很多实现类,如AutowiredAnnotationBeanProcessor用于@Autowired 注解的实现,AnnotationAwareAspectJProxyCreator用于Spring AOP的动态代理等等。

转载地址:http://awakz.baihongyu.com/

你可能感兴趣的文章
VMware vSphere 离线虚拟机安装 BIND 9
查看>>
dojo/request模块整体架构解析
查看>>
dojo的发展历史
查看>>
Python存储系统(Redis)
查看>>
C#搞个跨平台的桌面NES游戏模拟器
查看>>
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
查看>>
互联网App应用程序测试流程及测试总结
查看>>
PostgreSQL查询表名称及表结构
查看>>
如何使用google搜索?
查看>>
Redis分布式锁的正确实现方式
查看>>
设计模式-抽象工厂模式
查看>>
IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
查看>>
IDEA 调试Java代码的两个技巧
查看>>
Vue 数组和对象更新,但视图未更新,背后的故事
查看>>
《你是在做牛做马还是在做主管》- 读书笔记
查看>>
重新温习软件设计之路(4)
查看>>
MySQL数据库与python交互
查看>>
python如何对字符串进行html转义与反转义?
查看>>
微软XAML Studio - WPF, Sliverlight, Xamarin, UWP等技术开发者的福音
查看>>
开发小白也毫无压力的hexo静态博客建站全攻略 - 躺坑后亲诉心路历程
查看>>