关于spring单例的疑问

yizhaorong 2014-06-13 01:31:18
如果UserService是单例,当多个controller调用同一个UserService时将使用同一个对象,那如果在UserService中有一个
private SqlSession session;
时,第一个Controller执行完操作后执行到关闭Session时,第二个Controller正好要进行Commit,但Session已经关闭,会不会出现空指针无法提交的问题,本人菜鸟,请高手多指教
...全文
311 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
射鲸英雄传 2014-06-18
  • 打赏
  • 举报
回复
必然会出现异常,而且这种异常我还遇到过,不过是什么异常不记得了。
qqqsadaqq 2014-06-17
  • 打赏
  • 举报
回复
一般spring管理的action都是配置scope=“ prototype”,这样spring每次创建就不是单例
木_木_三 2014-06-17
  • 打赏
  • 举报
回复
我只想说spring单例并且还能保证线程安全的秘密是 threadlocal
dokia123 2014-06-16
  • 打赏
  • 举报
回复
像你这种类生成的对象是有状态的(就是有成员变量的意思),最好就不要用单例了,除非你自己做线程同步控制。
自然80 2014-06-16
  • 打赏
  • 举报
回复
会。 你的考虑线程安全。
  • 打赏
  • 举报
回复
控制服务访问为啥要用单例? 这么多方法不用
S117 2014-06-13
  • 打赏
  • 举报
回复
要分清楚什么时候用单例,什么时候不用单例,又不是只有那一种作用域
致知Fighting 2014-06-13
  • 打赏
  • 举报
回复
会出问题,提示你不能使用一个已经关闭的session。但是异常不会是空指针

67,513

社区成员

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

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