开发者社区 问答 正文

spring对单例bean创建问题 400 请求报错 

 大家都知道spring默认的是单例模式创建bean的,即整个应用就一个对应的bean实例,但是如果这个bean在同一时间内同时被几个用户请求,这时每个用户请求到的bean实例进行修改并不影响其他的用户拿到的bean实例,请问这个什么解释?求教。。。谢谢 

展开
收起
kun坤 2020-05-29 23:16:26 527 分享 版权
1 条回答
写回答
取消 提交回答
  • 你好,其实你的这个问题的答案要从web服务器上找原因,现在的服务器一般有线程池策略和io多路复用策略以保证每个请求开启一个线程,每个请求的处理实例化bean相互不会影响。######shrio session和web session有什么区别?是shrio 拦截掉了tomcat的session?###### 呃呃呃,这个要靠使用者 去指定是否单例的   一般来说使用单例的bean都是无状态bean所以不存在你说的修改问题。 ######不会影响才怪。你在service层类里面定义一个变量,然后多个浏览器访问去改变它的值,你看会不会影响。业务层的bean是单例的,用户之间共享。但控制层的bean是多例的,所以在action里面定义的变量不用担心这个问题。######有可能是你的处理事件很短没有模拟到同时引用修改的情况######这个要看你这个bean是不是线程安全的吧,如果是线程安全的,一般来说是不可能相互影响的,如果不是线程安全,特殊情况下还是会出现相互前者影响后者的情况的。######很多组件使用了TheadLocal,他储存的数据是线程独立的

    2020-05-29 23:16:50
    赞同 展开评论