4-1 bean scope属性讲解

说明:本节来了解一下bean scope的属性用意

 

 代表我们的bean在容器中是允许存在多个实例的

 

 前两个需要重点掌握

 为什么spring会默认的使用单例模式呢?

原因很简单,如果每一次在需要某个对象的时候都去创建它,会额外占用内存的空间,创建对象的时候也要额外占用cpu的计算资源,频繁创建对象所带来的资源损耗再小应用中还可以忽略不计但是bat这样级别的公司中动不动几十万用户同时访问那这个资源上的损失就必须考虑在内,而ioc单例模式可以有效的解决创建对象时占用资源的问题,因为全局只用创建一次就可以了,但这样也会衍生出一个新的问题。

我现在只有一个对象三个对象同时发起调用操作会不会出现阻塞的问题呢?其实不会的

 什么是线程安全问题?又是怎样体现出来的呢?

 多线程的话

 这时就会出现设置的是1出现的是2这种问题,和预期不符自然程序就会出bug。

如何解决?

为每一个用户都分配一个只属于他自己的对象,个操作各的互不影响

这种创建多个对象的设置放在springioc中就称作prototype多例

在每一次产生对象注入或者通过getBean获取userDao的过程中,由ioc容器都会创建新的实例,也就意味着产生关联以后b1拥有与之对应的独立的dao。每个线程的工作都互不影响

 执行效率相对较低

 

猜你喜欢

转载自blog.csdn.net/lonelyneet/article/details/125863933
4-1