一.Spring中单例模式的应用
1.概念:
所谓单例模式是项目开发中常用的一种设计模式,单例模式的写法有好几种,一般用到的是:懒汉式单例,饿汉式单例:
2.特点有:
1)单例类只能有一个实例
2) 单例类必须自己创建自己唯一实例
3)单例类必须给所有其他对象提供这一实例
我们这里就来说Spring中体现的单例模式的应用:
在Spring容器中管理的Bean对象的作用域,可以通过scope属性或用相关注解指定其作用域。
最常用是singleton(单例)或prototype(多例)
- singleton:单实例,是默认值。这个作用域标识的对象具备全局唯一性。
当把一个 bean 定义设置scope为singleton作用域时,那么Spring IOC容器只会创建该bean定义的唯一实例。也就是说,整个Spring IOC容器中只会创建当前类的唯一一个对象。
这个单一实例会被存储到单例缓存(singleton cache)中,并且所有针对该bean的后续请求和引用都 将返回被缓存的、唯一的这个对象实例。
singleton负责对象的创建、初始化、销毁。
例子:
<bean id="hello" scope="singleton" class="com.tedu.spring.Hello"></bean>
- prototype:多实例。这个作