spring单例模式
来源:互联网 发布:天策雪河军爷捏脸数据 编辑:程序博客网 时间:2024/05/26 15:58
关于spring是单例还是多例
1.spring作为控制层默认采用的是单例模式,即在一个conctroller实例化一次之后,就不在实例化了.
2.当然,spring也是支持多例的,使用 @scope(“prototype”) 注解来实现多例.使用多例会是程序更加安全.
a.那么问题来了,既然使用多例让程序更加安全为何spring不采用多例呢?
比如:当两个用户同时登录时,理想的状态,他两正好是同时登录,当用户A登录的账号和密码是正确的,而用户B的账号和密码是错的,而密码是一样的,
当用户A先登录成功了,用户B由于各种原因会使用到A的密码数据,如此用户B用错误的密码也登录成功了,如此是不是很不安全.(当然这种情况极难以出现的情况,只是为了说明这种单利模式不安全).
b.然而我们的问题还没有解决呢.既然如此,spring为何还要采用单利模式呢.当然,当使用多例的时候spring容器会在每次访问的时候创建对象.这样会使用大量的new 创建对象.然而这样的开销是很大的,从而影响到程序的性能.
3.既然spring采用的这种模式,他也给了开发者自由的选择,可根据自己的需求配置自己需要的模式.
既然不安全是由创建对象而造成的,那么我们不创建对象不就可以避免了,因此,我们在使用spring的时候,在controller中不要声明属性,这样就不会因为使用单例的变量而造成数据脏读,这样就避免了这个问题.所以在contrller中一般只会声明接口供给controller调用,我想这只是展现spring框架模式冰山一角的好处.
以此笔记,慢慢学习.
阅读全文
0 0
- spring 单例模式
- spring单例模式
- spring中的单例模式
- spring 的单例模式
- spring 的单例模式
- Spring Bean 单例模式
- Spring bean单例模式
- Spring中的设计模式-单例模式
- spring中的设计模式-单例模式
- Spring 设计模式之单例
- Spring 单例模式状态Bean
- Spring 设计模式之单例
- Spring 单例模式 线程安全
- Spring单例模式与线程安全
- Spring的单例模式底层实现
- 修改Spring默认的单例模式
- 单例模式在spring的应用
- Spring单例模式与线程安全
- 栈地址分配
- 爬虫闯关——2
- 利用servlet去动态的导出一个Excel表格
- 2138-图结构练习——BFSDFS——判断可达性
- 深度学习中对 end2end的理解
- spring单例模式
- Android开发学习(13)Retrofit访问REST服务
- 工作笔记,读取txt中指定内容
- JAVA字符串格式化-String.format()的使用
- 第11章 异常、断言、日志和调试
- javascript高级程序设计第三版 第10章 DOM
- 快速排序
- easy ui 隐藏文本框
- Spring session使用Redis 这么简单