spring 什么时候使用单例和多例
spring 什么时候使用单例和多例
所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 一、单例模式和多例模式说明:
- 单例模式和多例模式属于对象模式。
- 单例模式的对象在整个系统中只有一份,多例模式可以有多个实例。
- 它们都不对外提供构造方法,即构造方法都为私有。
单例适用场景: 4. 需要频繁实例化然后销毁的对象。 5. 创建对象时耗时过多或者耗资源过多,但又经常用到的对象。 6. 有状态的工具类对象。 7. 频繁访问数据库或文件的对象。 8. 其他要求只有一个对象的场景
单例的缺点
就是不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。 用单例模式,就是在适用其优点的状态下使用。