gpt4 book ai didi

java - 如何在 Spring 中只销毁一个 bean?

转载 作者:行者123 更新时间:2023-11-30 09:09:58 25 4
gpt4 key购买 nike

<分区>

我在我的 spring 应用程序上下文中定义了很多单例 bean,包括相同类型的不同对象和不同类型的对象。为了进行一些预销毁操作,我为 bean 类实现了 DisposableBean 接口(interface)。但是,我想知道如何销毁具有特定 ID 的 bean。

这是我的destroybean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="st" class="spring17.Student">
<property name="sno" value="101"/>
<property name="sname" value="Smith"/>
<property name="age" value="20"/>
</bean>

<bean id="st1" class="spring17.Student">
<property name="sno" value="102"/>
<property name="sname" value="Scott"/>
<property name="age" value="22"/>
</bean>

</beans>

这是我的主课

package spring17;

import org.springframework.context.support.GenericXmlApplicationContext;

public class SpringPrg {
@SuppressWarnings("resource")
public static void main(String args[])
{
GenericXmlApplicationContext gc=new GenericXmlApplicationContext("classpath:destroybean.xml");

Student st=gc.getBean("st",Student.class);

System.out.println(st);

gc.destroy();
}
}

当我调用 gc.destroy() 时,st1 也被破坏了,这是我不想要的。您可能建议为 st1 添加 lazy-init 属性,但这不是我想要的。

提前致谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com