SpringMVC scope属性的两种模式
2018-03-15 19:23
169 查看
singleton作用域:当把一个Bean定义设置为singleton作用域是,Spring IoC容器中只会存在一个共享的Bean实例,并且所有对Bean的
请求,只要id与该Bean定义相匹配,则只会返回该Bean的同一实例。值得强调的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean会导致在每次对该Bean请求(将其注入到另一个Bean中,或者以程序的方式调用容器的getBean
()方法)时都会创建一个新的Bean实例。根据经验,对有状态的Bean应使用prototype作用域,而对无状态的Bean则应该使用singleton作用
域。
对于具有prototype作用域的Bean,有一点很重要,即Spring不能对该Bean的整个生命周期负责。具有prototype作用域的Bean创建后交由调
用者负责销毁对象回收资源。
简单的说:
singleton 只有一个实例,也即是单例模式。(默认)
prototype访问一次创建一个实例,相当于new。
应用场合:
1.需要回收重要资源(数据库连接等)的事宜配置为singleton,如果配置为prototype需要应用确保资源正常回收。
2.有状态的Bean配置成singleton会引发未知问题,可以考虑配置为prototype。
请求,只要id与该Bean定义相匹配,则只会返回该Bean的同一实例。值得强调的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean会导致在每次对该Bean请求(将其注入到另一个Bean中,或者以程序的方式调用容器的getBean
()方法)时都会创建一个新的Bean实例。根据经验,对有状态的Bean应使用prototype作用域,而对无状态的Bean则应该使用singleton作用
域。
对于具有prototype作用域的Bean,有一点很重要,即Spring不能对该Bean的整个生命周期负责。具有prototype作用域的Bean创建后交由调
用者负责销毁对象回收资源。
简单的说:
singleton 只有一个实例,也即是单例模式。(默认)
prototype访问一次创建一个实例,相当于new。
应用场合:
1.需要回收重要资源(数据库连接等)的事宜配置为singleton,如果配置为prototype需要应用确保资源正常回收。
2.有状态的Bean配置成singleton会引发未知问题,可以考虑配置为prototype。
相关文章推荐
- (上节)Spring+JDBC+Struts;实现图片上传;配置的属性默认dbc用单例模式,action一定要scope=“prototype”
- XSL中template的match属性匹配模式
- FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
- FTP的两种工作模式
- ASP.NET 2.0 两种模式website和web application到底那个好?
- JSP页面中的pageEncoding和contentType两种属性
- 通过springmvc的RequestMapping的headers属性的使用
- unity3d 批量修改Texture属性 两种方式加载贴图
- 【java】单例模式的两种实现方式
- (转)从属性赋值到MVVM模式详解
- 获取文件属性的两种方式---ACL
- ADO.NET中数据库连接的两种模式:连接模式和断开模式
- 深入php-fpm的两种进程管理模式详解
- spring 中属性scope 的prototype(有状态)和singleton(无状态)
- 关于linux下两种内存引导模式的区别
- Spring中bean中scope属性的意义
- FTP两种传输模式小结
- SpringMVC(5):单例模式详解与示例分析(懒汉模式/饿汉模式/静态内部类改造)
- 快速开发平台的两种实现模式(转载)
- SpringMVC实现Controller的两种方法:配置和约定