JAVA—咖啡馆

——欢迎访问rogerfan的博客,常来《JAVA——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下JAVA技术,交流工作经验,分享JAVA带来的快乐!本网站部分转载文章,如果有版权问题请与我联系。

BlogJava 首页 新随笔 联系 聚合 管理
  447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

对于singleton bean,Spring容器知道bean何时实例化结束,何时销毁,Spring可以管理实例化结束之后,和销毁之前的行为,管理bean的生命周期行为主要未如下两个时机:

Bean全部依赖注入之后
Bean即将销毁之前

(1)依赖关系注入后的行为实现:
          有两种方法:A.编写init方法  B.实现InitializingBean接口

         afterPropertiesSet和init同时出现,前者先于后者执行,使用init方法,需要对配置文件加入init-method属性

public void init(){
        System.out.println(
"in init"); 
    }


 
public void afterPropertiesSet() throws Exception {
     System.out.println(
"in afterPropertiesSet");  
        
    }

 

<bean id="chinese" class="Bean.lifecycle.Chinese" init-method="init" destroy-method="close">
    
<property name="axe">
      
<ref local="axe"/>
    
</property>
  
</bean>

 

 (2)bean销毁之前的行为

   有两种方法:A.编写close方法  B.实现DisposableBean接口

destroy和close同时出现,前者先于后者执行,使用close方法,需要对配置文件加入destroy-method属性

 

    public void close(){
        System.out.println(
"in close"); 
    }

    
public void destroy() throws Exception {
        System.out.println(
"in destroy"); 
        
    }

<bean id="chinese" class="Bean.lifecycle.Chinese" init-method="init" destroy-method="close">
    
<property name="axe">
      
<ref local="axe"/>
    
</property>
  
</bean>

 

如果需要在bean创建之时和创建之后进行监控,则需要实现BeanPostProcessor接口

其中有两个方法:postProcessBeforeInitialization和postProcessAfterInitialization

这两个方法和init方法的顺序是:postProcessBeforeInitialization-->init-->postProcessAfterInitialization


posted on 2007-09-11 20:47 rogerfan 阅读(670) 评论(0)  编辑  收藏 所属分类: 【Java知识】【开源技术】

只有注册用户登录后才能发表评论。


网站导航: