spring对单例bean创建问题
大家都知道spring默认的是单例模式创建bean的,即整个应用就一个对应的bean实例,但是如果这个bean在同一时间内同时被几个用户请求,这时每个用户请求到的bean实例进行修改并不影响其他的用户拿到的bean实例,请问这个什么解释?求教。。。谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
很多组件使用了TheadLocal,他储存的数据是线程独立的
这个要看你这个bean是不是线程安全的吧,如果是线程安全的,一般来说是不可能相互影响的,如果不是线程安全,特殊情况下还是会出现相互前者影响后者的情况的。
有可能是你的处理事件很短没有模拟到同时引用修改的情况
不会影响才怪。你在service层类里面定义一个变量,然后多个浏览器访问去改变它的值,你看会不会影响。业务层的bean是单例的,用户之间共享。但控制层的bean是多例的,所以在action里面定义的变量不用担心这个问题。
呃呃呃,这个要靠使用者 去指定是否单例的 一般来说使用单例的bean都是无状态bean所以不存在你说的修改问题。
shrio session和web session有什么区别?是shrio 拦截掉了tomcat的session?
你好,其实你的这个问题的答案要从web服务器上找原因,现在的服务器一般有线程池策略和io多路复用策略以保证每个请求开启一个线程,每个请求的处理实例化bean相互不会影响。