文档章节

Spring谈谈其singleton模式

wiitht
 wiitht
发布于 2017/07/13 10:21
字数 268
阅读 7
收藏 0

    spring默认对bean采用的是单例模式,单例模式的好处就是对Bean容器来说有如下几点:

        1.减少实例的创建和管理的开销;

        2.对JVM垃圾收集友好;

    事物总有两面性,有一定好处就有一定缺陷;在Tomcat中对于每个请求都是单独分配一个线程来处理的;这意味着如果单实例的bean带上了状态,那么就会出现线程不安全的问题。

    Spring也给出了我们解决方案:

  • 在Tomcat和Jetty中,request和response对象对于线程单例的;
  • 基于Invocationhandler的动态代理;
  • ThreadLoacl是从当前线程中获取对象;
  • 在web项目中,可以使用Listener监听并处理http请求;

    参考

    其中我个人认为最核心的处理方案还是ThreadLocal通过本地线程对象解决了当前线程变量的存储(一般喜欢存放数据库实例connection,request等等)问题,从而避免了线程安全问题。

© 著作权归作者所有

共有 人打赏支持
wiitht
粉丝 2
博文 158
码字总数 113789
作品 0
深圳
架构师
Spring中bean的scope用法

Spring中bean的scope有六种:singleton,prototype,request,session,global session,application。此外,用户还可以自定义scope。还有一种scope是thread类型的,但是默认没有启用。 sing...

davelet
2016/04/25
0
0
spring所创建的bean的作用域

spring 模式上的作用域有两种 singleton :一个 Spring容器 中只存在公用一个实例。 prototype : 在spring容器中,每次都产生一个新的实例。 值得注意的是,我上面所提到的 “spring容器” ...

小鸟00
09/06
0
0
SpringFramework核心技术一(IOC:Bean的分析)

Bean的概述 Spring IoC容器管理一个或多个bean。这些bean是使用您提供给容器的配置元数据创建的,例如,以XML 定义的形式 。 在容器本身中,这些bean定义被表示为BeanDefinition 对象,其中包...

王木东
05/13
0
0
Spring容器中Bean的作用域

当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singl...

摆渡者
2014/02/26
0
1
Spring温故而知新 - bean的装配

按条件装配bean 就是当满足特定的条件时Spring容器才创建Bean,Spring中通过@Conditional注解来实现条件化配置bean package com.sl.ioc;import org.springframework.context.annotation.Bean;...

Java-老刘
05/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于Excel表格导出方法--application/vnd.ms-excel

关于Excel表格导出方法--application/vnd.ms-excel 由于本人所做的项目中需要用到两种将JSP页面table导出到Excel表格的方法(老板也是坑爹),一种是在后台操作数据库来实现,比较简单。由于...

DemonsI
23分钟前
1
0
springboot配置读写分离

我不提供内容,我只是好文章的搬运工 https://www.cnblogs.com/wuyoucao/p/9610882.html

颖辉小居
27分钟前
1
0
Spring 传参

spring传参之@RequestParam注解 @RequestParam注解有三个参数分别是: value、 required、 defaultValue 代码: @RequestMapping(value="test1", method = RequestMethod.GET) public String......

休辞醉倒
29分钟前
1
0
go http 框架性能大幅下降原因分析

最近在开发一个web 框架,然后业务方使用过程中,跟我们说,压测qps 上不去,我就很纳闷,httprouter + net/http.httpserver , 性能不可能这么差啊,网上的压测结果都是10w qps 以上,几个m...

鼎铭
29分钟前
7
0
GCC编译过程记

GCC编译过程记 一、引言 对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、Go和RBI...

珲少
31分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部