Spring Bean 的scope什么时候设置为prototype,什么时候设置为singleton
来源:互联网 发布:淘宝商城托管 编辑:程序博客网 时间:2024/05/22 18:55
- <bean id = "testAction" class = "com.kewen.xxxAction" scope = "prototype"/>
Spring Bean中为何有的地方要将scope属性设为prototype?
先简单说一下两个属性值:
1.Spring中Bean的配置,如果不显式指明scope的值,那么默认为单例singleton。也就是说这个Bean只会新建一个实例。
2.设置为prototype之后,就会创建多个实例,可以理解为会new很多次。而singleton只会new一个实例
准确的说,每次spring要获取bean的时候,都会调用getBean()方法
如果这个bean是singleton,那就会取唯一的一个实例出来
如果是prototype,那么每次getBean(),都会new一个新实例
举两个简单的例子对比一下:
- Class TestAction{
- private int age;
- }
每次请求都会传age过来,如果这个Action是个单例的话,后面请求的age,就把前面的给覆盖了,所以必须设置成prototype
对于
- class TestService{
- @Autowired
- private IUserDAO dao;
- }
由于它没有实例变量,所以不存在冲突的问题,用默认的单例就可以了
总结一下
1.对于有实例变量的类,要设置成prototype;没有实例变量的类,就用默认的singleton
2.Action一般我们都会设置成prototype,而Service只用singleton就可以。
阅读全文
0 0
- Spring Bean 的scope什么时候设置为prototype,什么时候设置为singleton
- Spring Bean 的 scope属性为何要设置为prototype
- Spring 受管理 Bean scope 的 prototype 和 singleton 区别
- spring bean scope=prototype/singleton的差别
- 《转》详解Spring中bean的scope singleton prototype request...
- Spring的Bean作用域(配置javabean时设置scope属性为以下相应值)
- 你担心spring容器中scope为prototype的bean太大内存溢出吗?
- spring mvc 设置@Scope("prototype")
- Spring Bean Scope Singleton Prototype 相互引用说明
- spring配置文件中bean中scope属性prototype和singleton
- spring Bean范围scope=singleton或prototype
- Spring中Bean的scope的singleton和prototype使用场景
- spring IOC之Bean的scope属性值:prototype与singleton
- Spring IOC之bean的scope属性值:prototype与singleton
- Spring IOC之bean的scope属性值:prototype与singleton
- spring的bean在什么时候实例化
- spring为bean设置properties文件
- spring mvc 是否要设置@Scope("prototype")
- Maximum Product of Word Lengths
- ssm框架的配置
- linux权限的一些简单总结
- 字符串替换
- React Native ./gradlew clean 提示Permission denied
- Spring Bean 的scope什么时候设置为prototype,什么时候设置为singleton
- 百练习+MST是否唯一+Kruskal+去除边然后枚举
- Ehcache缓存
- pdf转cad最好的软件如何选择免费
- Spring 源码深入解析之bean容器的基本实现(一)
- 工作中用到的知识点--tomcat开机启动配置和nginx日志切割
- shell整理
- rebot 汇聚多个output.xml文件时 失败的解决方案
- Docker Swarm 入门