Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 春豆';s-METHOD属性和web应用程序;原型;豆角_Java_Spring_Scope_Javabeans - Fatal编程技术网

Java 春豆';s-METHOD属性和web应用程序;原型;豆角

Java 春豆';s-METHOD属性和web应用程序;原型;豆角,java,spring,scope,javabeans,Java,Spring,Scope,Javabeans,可以得到工作属性“销毁方法” 首先,即使我在“destroy method”属性中键入了不存在的方法名 Spring初始化完成得很好(已经很奇怪了!) 接下来,当一个bean有一个“原型”作用域时,我想它必须在应用程序之前被销毁 关门了。这种情况不会发生,在我的情况下,它根本就不会被调用 不过,在提取这个bean之后,我可以显式调用这个方法,它就完成了它的工作 你能解释一下为什么我的Spring2.5案例中从未调用过这个方法吗 p、 方法存在,它是公共的,没有参数 这似乎比我想的要困难得多 问题

可以得到工作属性“销毁方法”

首先,即使我在“destroy method”属性中键入了不存在的方法名

Spring初始化完成得很好(已经很奇怪了!)

接下来,当一个bean有一个“原型”作用域时,我想它必须在应用程序之前被销毁

关门了。这种情况不会发生,在我的情况下,它根本就不会被调用

不过,在提取这个bean之后,我可以显式调用这个方法,它就完成了它的工作

你能解释一下为什么我的Spring2.5案例中从未调用过这个方法吗

p、 方法存在,它是公共的,没有参数

这似乎比我想的要困难得多

问题是,每当上下文关闭时,就会调用这个destroy方法,并且 这是一个罕见的案例

我的问题是:

我有一个网络应用程序。我有一个“原型”范围的bean

我需要的是,当当前会话关闭时,Spring会自动调用销毁方法

我可以用手来做,但是有没有办法让Spring做这项工作呢?它会在会话被销毁后销毁bean,Spring是否可能在销毁bean之前调用该bean上的方法?


p、 Spring不管理原型bean的生命周期,因此Spring不会销毁它们:)

Spring容器不管理原型bean

以下文件中的一个片段:

因此,尽管初始化 生命周期回调方法被调用 在所有对象上(不考虑范围),在 原型的情况,已配置 销毁生命周期回调是 没有打电话

如果可能,请尝试请求或会话范围

当HTTP会话最终结束时 已丢弃,作用域为的bean 这个特定的HTTP会话也是 丢弃


顺便说一句:会话和请求范围仅在您使用web感知的
ApplicationContext
时有效,例如
XmlWebApplicationContext

也许您应该尝试查看aspectscan您解释了这个bean的功能,为什么需要在每个会话中销毁它,等等?我有一种感觉,你可能会问一个基于你认为你需要解决的问题,但真正的问题/问题可能有一个更简单的解决方案。例如,这个bean是否在处理某种资源(比如数据库连接)?@matt b假设,当会话关闭时,这个bean必须记录一条语句“我正在被销毁”。我现在知道Spring不处理原型,所以只有一种方法:在servlet中手动执行。Spring在这里真的帮不上忙。这就是您用例的全部范围吗?如果是这样,只需使用HttpSessionListener。@Espen@matt b我只需要一个会话范围!Spring管理它,当然我可以用它来代替“原型”。精彩的!