关于spring容器里的bean的destroy-method问题
写了个PersonBean,里面定义了destroy()方法如果在spring中配置该bean的destroy-method="destroy",当该bean的scope...
写了个PersonBean,里面定义了destroy()方法
如果在spring中配置该bean的destroy-method="destroy", 当该bean的scope为singleton时,容器关闭时会调用destroy方法,可一但改scope为prototype,
容器关闭就不去调用destroy方法了,这是怎么回事? 展开
如果在spring中配置该bean的destroy-method="destroy", 当该bean的scope为singleton时,容器关闭时会调用destroy方法,可一但改scope为prototype,
容器关闭就不去调用destroy方法了,这是怎么回事? 展开
1个回答
展开全部
spring的说明中有这样一句话,我大致翻译了一下:
“对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个 prototype bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。不管何种作用域,容器都会调用所有对象的初始化生命周期回调方法,而对prototype而言,任何配置好的析构生命周期回调方法都将不会被调用。清除prototype作用域的对象并释放任何prototype bean所持有的昂贵资源,都是客户端代码的职责.”
“对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个 prototype bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。不管何种作用域,容器都会调用所有对象的初始化生命周期回调方法,而对prototype而言,任何配置好的析构生命周期回调方法都将不会被调用。清除prototype作用域的对象并释放任何prototype bean所持有的昂贵资源,都是客户端代码的职责.”
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询