springboot单例模式注⼊对象_spring⾃动注⼊是单例还是多
例?单例如何注⼊多例?...
单例多例需要搞明⽩这些问题:
1. 什么是单例多例;spring boot是啥
2. 如何产⽣单例多例;
3. 为什么要⽤单例多例
4. 什么时候⽤单例,什么时候⽤多例;
1. 什么是单例、多例:
所谓单例就是所有的请求都⽤⼀个对象来处理,⽐如我们常⽤的service和dao层的对象通常都是单例的,⽽多例则指每个请求⽤⼀个新的对象来处理,⽐如action;
单例模式和多例模式说明:
1. 单例模式和多例模式属于对象模式。
2. 单例模式的对象在整个系统中只有⼀份,多例模式可以有多个实例。
3. 它们都不对外提供构造⽅法,即构造⽅法都为私有。
2. 如何产⽣单例、多例:
在通⽤的SSH中,单例在spring中是默认的,如果要产⽣多例,则在配置⽂件的bean中添加scope="prototype";
3. 为什么⽤单例、多例:
之所以⽤单例,是因为没必要每个请求都新建⼀个对象,这样⼦既浪费CPU⼜浪费内存;
之所以⽤多例,是为了防⽌并发问题;即⼀个请求改变了对象的状态,此时对象⼜处理另⼀个请求,⽽之前请求对对象状态的改变导致了对象对另⼀个请求做了错误的处理;
⽤单例和多例的标准只有⼀个:
当对象含有可改变的状态时(更精确的说就是在实际应⽤中该状态会改变),则多例,否则单例;
4. 何时⽤单例?何时⽤多例?
对于struts2来说,action必须⽤多例,因为action本⾝含有请求
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论