图派做网站,国外二级域名免费申请,深圳康福特户外家具营销型网站,wordpress字体插件下载2019独角兽企业重金招聘Python工程师标准 默认情况下#xff0c;从bean工厂所取得的实例为Singleton#xff08;bean的singleton属性#xff09; Singleton: Spring容器只存在一个共享的bean实例#xff0c;是默认的配置。 Prototype: 每次对bean的请求都会创… 2019独角兽企业重金招聘Python工程师标准 默认情况下从bean工厂所取得的实例为Singletonbean的singleton属性 Singleton: Spring容器只存在一个共享的bean实例是默认的配置。 Prototype: 每次对bean的请求都会创建一个新的bean实例。 二者选择的原则有状态的bean都使用Prototype作用域而对无状态的bean则应该使用singleton作用域。 在 Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域分别为request、session和 global session。 如果你希望容器里的某个bean拥有其中某种新的web作用域除了在bean级上配置相应的scope属性还必须在容器级做一个额外的初始化配置。即在web应用的web.xml中增加这么一个ContextListener org.springframework.web.context.request.RequestContextListener 以上是针对Servlet 2.4以后的版本。比如Request作用域 singleton是单态模式的 有ioc容器管理 当然不是线程安全的啦 不过所谓的线程安全也是相对的如果你的类是没有状态的 那用singleton 的性能要高一些 因为只有一个实例 如果你的类是有状态的 那就必须显示的设置为prototype了。 在ssh2 项目中 struts2的action交由spring管理的时候 spring默认是singleton的 而struts2的action显然是有状态的 所以必须显示设置为 scope“prototype” prototype为原型模式 每次action请求过来都会创建一个action 但是对那些Dao的实现类推介scope“singleton” 因为这些类没有状态用singleton只需维护一个实例显然性能高一些。 转载于:https://my.oschina.net/lsl1991/blog/662338