ssh2中的单例多例问题

阿诺 2013-06-21 03:24:04
小弟疑惑不解,实在不懂。struts2+spring+hibernate的整合的框架中,所以的bean都交给spring
管理。那么我想问问,由于spring默认对管理的对象是一个ioc容器中单例存在。
那么action,service,dao这三层的对象 哪些应该用单例...哪些层的对象又该用多例。为什么?
请知道的大叔,大神回答下
...全文
208 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xieyongcx 2013-06-22
  • 打赏
  • 举报
回复
引用 8 楼 anybyb 的回复:
[quote=引用 7 楼 xieyongcx 的回复:] [quote=引用 6 楼 anybyb 的回复:] [quote=引用 4 楼 xieyongcx 的回复:] action是要多例的,因为他说有状态的,如果是单例,a用户可以访问到b用户的信息,service一般是没状态的是单例,dao也是单例的。
service,dao如果是单例的话,那么是不是容器中就只有一个对象,这样的话,假如两个用户同时来访问一个方法,这个时候,A得到了这个单例对象,那么b呢?b只有等待吗?[/quote]同一个对象,相等。[/quote] 不是啊 我要表达的意思是,这个对象a用户在操作,那么b用户怎么办?[/quote] 设置多例就不用考虑
dracularking 2013-06-21
  • 打赏
  • 举报
回复
引用 8 楼 anybyb 的回复:
不是啊 我要表达的意思是,这个对象a用户在操作,那么b用户怎么办?
spring需要多例的时候可以多例 scope=prototype
weilus 2013-06-21
  • 打赏
  • 举报
回复
一个请求,开一个线程,struts框架做一个action对象这个没得说啊多例 dao里面都是一些功能逻辑,无关数据,也无关线程安全。一般写成工厂单例
阿诺 2013-06-21
  • 打赏
  • 举报
回复
引用 7 楼 xieyongcx 的回复:
[quote=引用 6 楼 anybyb 的回复:] [quote=引用 4 楼 xieyongcx 的回复:] action是要多例的,因为他说有状态的,如果是单例,a用户可以访问到b用户的信息,service一般是没状态的是单例,dao也是单例的。
service,dao如果是单例的话,那么是不是容器中就只有一个对象,这样的话,假如两个用户同时来访问一个方法,这个时候,A得到了这个单例对象,那么b呢?b只有等待吗?[/quote]同一个对象,相等。[/quote] 不是啊 我要表达的意思是,这个对象a用户在操作,那么b用户怎么办?
xieyongcx 2013-06-21
  • 打赏
  • 举报
回复
引用 6 楼 anybyb 的回复:
[quote=引用 4 楼 xieyongcx 的回复:] action是要多例的,因为他说有状态的,如果是单例,a用户可以访问到b用户的信息,service一般是没状态的是单例,dao也是单例的。
service,dao如果是单例的话,那么是不是容器中就只有一个对象,这样的话,假如两个用户同时来访问一个方法,这个时候,A得到了这个单例对象,那么b呢?b只有等待吗?[/quote]同一个对象,相等。
阿诺 2013-06-21
  • 打赏
  • 举报
回复
引用 4 楼 xieyongcx 的回复:
action是要多例的,因为他说有状态的,如果是单例,a用户可以访问到b用户的信息,service一般是没状态的是单例,dao也是单例的。
service,dao如果是单例的话,那么是不是容器中就只有一个对象,这样的话,假如两个用户同时来访问一个方法,这个时候,A得到了这个单例对象,那么b呢?b只有等待吗?
zzxiaoma 2013-06-21
  • 打赏
  • 举报
回复
其实我觉得实体类不需要让spring管理,实体一般都是多例的
xieyongcx 2013-06-21
  • 打赏
  • 举报
回复
action是要多例的,因为他说有状态的,如果是单例,a用户可以访问到b用户的信息,service一般是没状态的是单例,dao也是单例的。
  • 打赏
  • 举报
回复
根据需求来的,,默认都是单例的,注入的时候通过scope控制单例还是多例。。
阿诺 2013-06-21
  • 打赏
  • 举报
回复
我去好不容易看到一个回答的,以为有希望了,结果是个图片......
小丑哥_V5 2013-06-21
  • 打赏
  • 举报
回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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