spring的单例模型

  1. Spring框架中的Bean,或者说组件,获取实例的时候都是默认单例模式,这是在多线程开发的时候需要尤其注意的地方。
  2. 既然是单例,那涉及到的单例对象上是不能设置有状态的属性的,否则会出现多线程竞争资源的问题,导致数据不一致出现。
  3. 为了提高使用单例的性能,spring中大量的使用了ThreadLocal模型,为每个线程提供隔离的数据副本,多线程中互不干扰;同时也更方便代码的编写(在请求开始时,将变量放入ThreadLocal模型中,在整个请求调用过程中直接通过get获取该变量即可)

你可能感兴趣的:(spring的单例模型)