java共享数据问题:两bean里都有变量引用了同一共bean,共bean里有map,想这两个bean可以共同访问这个map

java-spring下开发web,想两个不同的bean里都引用同一个bean对象,这个对象里有一个map类型的数据员,想实现两个不同的bean可以共享访问这个map类型... java-spring下开发web,想两个不同的bean里都引用同一个bean对象,这个对象里有一个map类型的数据员,想实现两个不同的bean可以共享访问这个map类型数据。可是读map时,里面为空,为甚么,另外一边的bean再不断往map写数据了。
bean配置
<!-- 数据池 -->
<bean id="datapool" class="com.yjh.datapool.DataPoolImp">
<property name="size" value="100" />
</bean>
<!-- 多用户访问对象 -->
<bean id="cmdAction" class="com.yjh.action.CmdAction" scope="prototype">
<property name="datapool" ref="datapool" />
</bean>
<!-- 服务数据写入对象 -->
<bean id="udpDataMonitor" class="com.yjh.client.udp.UdpDataMonitor" init-method="init">
<property name="datapool" ref="datapool" />
</bean>
展开
 我来答
QQMSD8
2014-08-21 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
两个不同的bean里都引用同一个bean对象

即A B 同时都引用了C,这时候如果想数据共享,那么你要在spring里设置这个C为单例
在spring依赖注入配置里bean的作用域
<bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/>
默认是单例模式,即scope="singleton"
另外scope还有prototype、request、session、global session作用域
scope="prototype"多例

请采纳哈..
更多追问追答
追问
datapool 这个bean我没配置scope哦,默认应该可以的啊
追答
那就要确认一下,看你那两个bean是否引为同一个
lin_chuhao
2014-08-21 · TA获得超过352个赞
知道小有建树答主
回答量:572
采纳率:57%
帮助的人:134万
展开全部
可以用JAVA多态实现,举个简单的例子
比如 t3是公共Bean ,t1和t2是两个不同的bean,
t1中有设置t3的map的方法add
t2用于获取t3的map的方法get

将t1和t2分别继承 t3
使用的时候可以这样

t3 t1=new t1();
t1.add("key","value");

t3 t2=new t2();
System.out.println(t2.get("key"));

这样t1 t2就可以共用t3这个公共bean了 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
29cyy
2014-08-21 · TA获得超过2186个赞
知道小有建树答主
回答量:2826
采纳率:45%
帮助的人:575万
展开全部
同一个bean对象设置成单例吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MrGorden
2014-08-21
知道答主
回答量:23
采纳率:0%
帮助的人:15.6万
展开全部
请贴出代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式