博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring Bean的生命周期
阅读量:7009 次
发布时间:2019-06-28

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

hot3.png

bean的初始化

1.实现 InitializingBean 接口,容器会自动调用afterPropertiesSet();

2. 指定 <bean id="typeResolver" class="" init-method=""></bean> 指定 一个方法给 init-method

如果同时指定两种,先执行第一种,后再执行第二种。建议使用第2种,代码污染小

 

注解:

(initMethod="",destroyMethod = "") //相当于xml int-method

@PostConstruct        //在构造函数执行完成之后执行

 

bean的销毁

1.实现DisposableBean接口

2.指定destroy-method

注解:

@PreDestroy          //在bean 销毁之前执行

 

指定多个bean的初始化与销毁

1.可以在<beans>中指定default-init--method 属性

例: class User implent InitializingBean{

     void setName(){...}

     void init(){...}

     void afterPropertiesSet(){...}

}

Bean 后处理  是对所有的Bean进行统一处理,BeanProcessor 本身不对外提供服务,可以不设置id.容器将自动处理其中的方法

class BeanProcessor implent BeanPostProcessor{                                  

     Object postProcessBeforeInitializetion(bean,beanName){...}

     Object postProcessAfterInitialization(bean,beanName){...}

}

 

1. 执行  User  中 setName  完依赖注入  

 

2.  执行 BeanProcessor 中 postProcessBeforeInitializetion方法处理

 

3. 执行  User  中  afterPropertiesSet  

 

4. 执行  User  中 init  配置<bean init-method="int">

 

5.  执行 BeanProcessor 中 postProcessAfterInitialization

 

转载于:https://my.oschina.net/u/2552286/blog/1561211

你可能感兴趣的文章
计算1到100的所有整数中9出现的次数
查看>>
linux下配置mysql解析 遇到新问题两个。
查看>>
查看刀片服务器MAC地址方法 zhoulb@dc
查看>>
VI中显示行号
查看>>
把C代码当shell脚本来执行
查看>>
今年的9月,只能怀念
查看>>
Linux 日志
查看>>
我的友情链接
查看>>
【Android】AndroidStudio空指针解决之:listview与adapter的使用报空 java.lang.NullPointerException...
查看>>
Rsync实现Windows系统与Linux文件同步
查看>>
简单工厂模式( Simple Factory Pattern )
查看>>
CentOS 7安装laravel 5.5.28
查看>>
SQL Server 2005 创建Oracle10g 的链接服务器
查看>>
菜单项启动Activity
查看>>
Ubuntu下安装Python的Tkinter和Pmw库
查看>>
安装Nginx+Lua开发环境
查看>>
nginx nginx.pid无故文件丢失,日志无法正常轮转
查看>>
我的友情链接
查看>>
XML中元素VS属性
查看>>
wepy - 小程序快速开发框架
查看>>