gpt4 book ai didi

java - Spring beans 执行范围

转载 作者:太空宇宙 更新时间:2023-11-04 08:11:53 24 4
gpt4 key购买 nike

例如,我有一个场景。

<bean id="xyzService" class="XyzServiceImpl" scope="prototype">
<property name="aDependency" ref="aDependency" />
<property name="bDependency" ref="bDependency" />
</bean>

<bean id="useService" class="UseServiceImpl">
<property name="xyzService" ref="xyzService"/>
</bean>

Java 类:

public class XyzServiceImpl implements XyzService{
private ADependency aDependency= null;
private BDependency bDependency= null;
// getters and setters...
}

public class UseServiceImpl implements UseService {
private XyzService xyzService= null;
// getters and setters...
xyzService.doSomething();
}

现在,每次在 UseServiceImpl 中,我都期望有一个新的 xyzService 实例,但我总是返回相同的单例实例。还有一种情况是,aDependencybDependency 可能在内部再次有更多对其他 bean 的引用。

现在我有一个问题,例如如何获取 xyzService 的新实例。我做错了什么吗?

最佳答案

默认情况下 spring bean 的作用域是 singleton ,你需要标记作用域 prototype 来指示 spring

<bean id="beanId" class="some.class.Name" scope="prototype"/>

Spring 会根据 Bean 的每个请求创建新实例

<小时/>

查看

关于java - Spring beans 执行范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11045208/

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