【发布时间】:2011-08-10 11:51:06
【问题描述】:
我有下一个情况:
Connection manager 每次应该有一个ConnectionServer 的对象和DataBean 的新对象
所以,我创建了这些 bean 并配置了 spring 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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="dataBena" class="com.test.DataBean" scope="prototype"/>
<bean id="servCon" class="com.test.ServerCon"/>
<!--<bean id="test" class="com.test.Test"/>-->
<context:component-scan base-package="com.test"/>
</beans>
并为DataBean添加范围prototype
在此之后,我创建了名为 Test 的简单实用程序/组件类
@Component
public class Test {
@Autowired
private DataBean bean;
@Autowired
private ServerCon server;
public DataBean getBean() {
return bean.clone();
}
public ServerCon getServer() {
return server;
}
}
但是,每次调用 getBean() 方法我都在克隆这个 bean,这对我来说是个问题。 我可以从 spring 配置中做到这一点不使用克隆方法吗? 谢谢。
【问题讨论】: