Spring bean单例模式

转载 2017年01月03日 21:07:44

Spring的原型Bean与单例Bean的设置
spring单例Bean
在spring中的Bean缺省的情况下是单例模式的,在spring容器中分配Bean的时候(无论通过getBean()还
是通过依赖注入(IOC)),它总是返回同一个Bean的实例,如果你想每次向上下文请求一个bean的时候
总是得到一个不同的实例,或者想每次想从spring容器中得到一个bean的不同实例,需要将bean定义为原
型模式,定义为原型模式意味着你是定义一个bean的类,而不是一个单一的bean的实例,bean的实例都是
按照这个类而创建的。


spring原型Bean
在spring中<bean>的singleton属性告诉上下文这个bean是原型bean或者是单例bean。bean的缺省值为true,
如果设为false的话,就把这个bean定义成了原型bean。
例如:<bean id=”test” class=”demo.Demo” singleton=”false” />


在spring2.x中<bean id=”test”scope=”prototype”/>将这样配置,但是如果想使用spring的原型bean必
须通过getBean(”test”)这样的方式,而不能通过使用IOC方式,因为:getBean将每次都有spring来装配
转发,而IOC将只是一次注入的目标bean中,以后不再重新注入。这样通过getBean方式将得到一个原型bean。
如果bean使用的是有限资源,如数据库和网络链接的话不需要使用原型bean,正常不要把 singleton=”false”
或者scope=”prototype”除非必要。


Spring 单例Bean和Java单例模式的区别
Spring的单例是基于BeanFactory也就是spring容器,单例Bean在此Spring容器内是单个的,Java的单例
是基于JVM,每个JVM内一个单例。

Spring Bean 单例模式

1. Refer to >, page 39. 2. Spring Bean Creation is Not Thread Safe refer to http://blo...
  • nomad2
  • nomad2
  • 2015年12月09日 09:45
  • 2797

spring bean单例注入与用单例模式通过class.getinstance()区别?

1、action的某个方法中,用以下代码获得redis单例实例

Spring单例Bean与单例模式的区别

Spring单例Bean与单例模式的区别在于它们关联的环境不一样,单例模式是指在一个JVM进程中仅有一个实例,而Spring单例是指一个Spring Bean容器(ApplicationContext...
  • yiifaa
  • yiifaa
  • 2017年07月08日 19:37
  • 1356

Spring单例模式多线程安全问题-有状态的Bean

Spring单例与线程安全小结 一、Spring单例模式与线程安全Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。单例模式的意思就...

spring中的bean默认是单例模式

spring中的bean默认是单例模式 2014-04-08 22:42 1446人阅读 评论(0) 收藏 举报  分类: web框架技术(2)  目录...

关于Spring创建Bean的模式-Singleton(单例模式)和Prototype

Spring Bean的创建:默认情况下Spring中定义的Bean是以单例模式创建的。 在GoF中的单例模式是指一个ClassLoader中只存在类一个实例。 而在Spring中的单例实际上更确...

Spring学习笔记 关于Spring创建Bean的模式-Singleton(单例模式)和Prototype

刚开始接触Spring的时候一些基础的教学在说到Bean的创建时会提到Spring的单例模式,就是说默认情况下Spring中定义的Bean是以单例模式创建的。如果以前了解设计模式中的单例模式的话很容易...

Spring学习笔记 关于Spring创建Bean的模式-Singleton(单例模式)和Prototype

刚开始接触Spring的时候一些基础的教学在说到Bean的创建时会提到Spring的单例模式,就是说默认情况下Spring中定义的Bean是以单例模式创建的。如果以前了解设计模式中的单例模式的话很容易...

PHP 单例模式及模拟Java Bean

(前一个由于代码是手机编辑的,很乱,重新发下)只是为了实现这个方法,很简单,几行代码就能实现,但如果行和列的值稍微大点,你就发现,运行时间很长。所以就这次的题做了个稍微复杂点的例子,说明下单例模式的使...

Spring单例模式与线程安全

Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。   单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring bean单例模式
举报原因:
原因补充:

(最多只允许输入30个字)