求解惑
As a rule, use the prototype scope for all state-full beans and the singleton scope for stateless beans.
------解决方案--------------------用google翻译,然后意会吧
------解决方案--------------------大致意思是,作为一个规定,当定义的bean对要求完满状态时(对对象要完全控制),bean定义中,使用scope="prototype"来标注,不要求bean状态时(可与其它程序共享),使用scope="singleton"来标注。
------解决方案--------------------
英语不好呀!
------解决方案--------------------
What is 对对象要完全控制?
--就是要独享一个实例
What is 可与其它程序共享?
--不需要独享实例
猜测LZ看的应该是Spring bean的使用方面的内容吧?相信既然都到看英文教材的地步了,应该对bean的使用有不少自己的心得了,可以结合自己的使用来理解。
state-full,比如我们在用Struts+Spring的时候,会将Action定义成bean,此时一定是prototype的(非单例的),因为Action定义的属性,要在当前的请求中完全独享。
stateless,比如一些工具类(比如处理日期格式化等公共方法)或者对外接口的实现(比如Axis实现Webservice),里面的方法考虑到并发其内部属性只是本工具类使用,或者对外接口调度机制良好其内部属性只是辅助功能实现使用,就可以只实例化一次,因此定义成singleton,节约内存。
英语不太好,勉强看懂点意思,再结合中文教材的理解翻译的。有啥好的介绍,也给大家分享分享下哈~
------解决方案--------------------
用google翻译,然后意会吧
我不懂state-full beans / stateless beans
有状态的bean 和无状态的bean
有状态的bean像httpsession可以保存客户端状态
无状态的bean像httprequest不保存客户端状态