博客
关于我
Spring容器管理Bean的生命周期
阅读量:406 次
发布时间: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/

你可能感兴趣的文章
.NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
查看>>
上周热点回顾(1.16-1.22)
查看>>
上周热点回顾(1.23-1.29)
查看>>
上周热点回顾(3.20-3.26)
查看>>
上周热点回顾(4.24-4.30)
查看>>
[故障公告]博客站点1台负载均衡遭遇流量攻击,造成联通与移动用户无法正常访问
查看>>
上周热点回顾(5.1-5.7)
查看>>
云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发的故障
查看>>
上周热点回顾(6.19-6.25)
查看>>
云计算之路-阿里云上:docker swarm 集群故障与异常
查看>>
上周热点回顾(2.19-2.25)
查看>>
云计算之路-阿里云上:博客web服务器轮番CPU 100%
查看>>
云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
查看>>
上周热点回顾(3.26-4.1)
查看>>
上周热点回顾(6.25-7.1)
查看>>
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
工作半年的思考
查看>>
不可思议的纯 CSS 滚动进度条效果
查看>>
【CSS进阶】伪元素的妙用--单标签之美
查看>>
惊闻NBC在奥运后放弃使用Silverlight
查看>>