iteye_13574 2009-01-21 11:37
浏览 958
已采纳

关于Spring2.5 @PreDestory注释,销毁bean时不执行

发现当scope="prototype" ,spring容器销毁对象的时候 @PreDestory 注释的方法不会执行,
scope="singleton" 的 @PreDestory 才会执行。。。
请问这是为什么啊? ~

[code="java"]
@Component("pService")
@Scope("prototype")
public class PersonServiceImpl implements PersonService {

@PostConstruct
public void init() {
    System.out.println("初始化咯~");
}

@PreDestroy  //这里spring容器销毁的时候并没有执行....
public void destory(){
    System.out.println("销毁了~");
}

}

[/code]

如果是prototype:
初始化咯~
Prototype !!!
Saving in PersonServiceImpl...null
Saving in PersonDaoImpl ...
2009-1-21 11:34:22 org.springframework.context.support.AbstractApplicationContext doClose
信息: Closing org.springframework.context.support.ClassPathXmlApplicationContext@280387: display name [org.springframework.context.support.ClassPathXmlApplicationContext@280387]; startup date [Wed Jan 21 11:34:20 CST 2009]; root of context hierarchy
2009-1-21 11:34:22 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
信息: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2a3c6f: defining beans [pDao,pService,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor]; root of factory hierarchy

如果是singleton:
初始化咯~
Singleton !!!
Saving in PersonServiceImpl...null
Saving in PersonDaoImpl ...
2009-1-21 11:35:39 org.springframework.context.support.AbstractApplicationContext doClose
信息: Closing org.springframework.context.support.ClassPathXmlApplicationContext@280387: display name [org.springframework.context.support.ClassPathXmlApplicationContext@280387]; startup date [Wed Jan 21 11:35:37 CST 2009]; root of context hierarchy
2009-1-21 11:35:39 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
信息: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2a3c6f: defining beans [pDao,pService,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor]; root of factory hierarchy
销毁了~

  • 写回答

1条回答 默认 最新

  • christ_1 2009-01-21 12:01
    关注

    [code="java"]@Scope("prototype") [/code]定义为prototype类型的实例创建之后spring就不在管理了,它只是做了new操作而已

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)