关于web中spring bean的问题?

2020-04-30 09:55发布

问题:

学了这么久的web,确实对很多方面不是很懂。例如我知道spring中bean是单例,同时也知道这不是线程安全的,并且也知道如何保证线程安全,用ThreadLocal这种机制,同时看网上说无状态Bean是线程安全的类似Dao层,Controller层,有状态就是线程不安全了?
疑问就是比如多个用户同时发送一个查询或者修改的数据(如账号数据,是一个类),但是如果bean是单例的话,岂不是数据会不正常?不是很明白这里面的原理,有么有大佬解释一下。

回答1:

首先,spring的bean不一定是单例的,作用于有singleton、prototype、request好多种;
线程安全不一定是使用ThreadLocal,ThreadLocal只是一种方式;
无状态的bean,这个无状态,可以和http的无状态类比一下;有状态的话,就是有上下文(context)



标签: web spring