高分求解Spring中bean的singleton问题

fyjin99 2010-03-02 01:34:38
spring bean 配置默认就是singleton的吗?
程序中有一个bean A,A本身是一个服务器类,内部有自己的线程实现。
用户在客户端网络登录,提交一定的请求B,请求B调用bean A来发送一个信息。
这里A是唯一的,即不同用户的请求都是由同一个A来处理,A在一次初始化之后和web服务器一样将一直保持运行。
请问bean A有什么约束?
<bean id="idName" class ="xxxx.xxx.className" singleton ="true"/>这样配置bean A就可以了吗?不同用户访问bean A是否会产生访问冲突呢?
...全文
121 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyjin99 2010-03-02
  • 打赏
  • 举报
回复
引用 6 楼 fyjava1984 的回复:
要考虑数据是否要同步?

如果考虑的话需要怎么做?
fyjava1984 2010-03-02
  • 打赏
  • 举报
回复
要考虑数据是否要同步?
whatisthjava 2010-03-02
  • 打赏
  • 举报
回复
bean 的 scope属性
singleton s
prototype p

A中有 B
配置文件中 A/B A a = (A)ctx.getBean(“a1”) B b = a.ge
s/s s s
s/p s s
p/s p s
p/p p p

lookup-method
<bean id=”a1” class=“bean.A”>
<lookup-method name=”A类中的一个方法名,返回 B类型的对象”
bean=”一个 B对象的 id”/>
</bean>

A a = (A) ctx.getBean(“a1”)
其实是 A子类类型(CGLIB) ,该子类重写 lookup-method 的 name属性指定的方法,该方法返回 B类型的对象,是否为 Singleton 取决于 B对象的配置
fyjin99 2010-03-02
  • 打赏
  • 举报
回复
引用 3 楼 uk445737547 的回复:
如果你担心多个用户同时访问会产生冲突,

可以给A类中的方法中加一个synchronized(同步方法,保证在同一时间,只能被一个人使用)

谢谢。这个方法怎么加啊?
uk445737547 2010-03-02
  • 打赏
  • 举报
回复
如果你担心多个用户同时访问会产生冲突,

可以给A类中的方法中加一个synchronized(同步方法,保证在同一时间,只能被一个人使用)
uk445737547 2010-03-02
  • 打赏
  • 举报
回复
不会 你在<bean>节点中已经固定了该节点的类型是A类

一旦你工程中使用到spring中这个借点 就会自动检索这个A类了,

不会出现什么冲突
生活 2010-03-02
  • 打赏
  • 举报
回复
我顶你上去啊。。。。。。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧