首页 > 代码库 > spring bean的范围化

spring bean的范围化

  默认情况下,bean是单一的,也就是说spring容器每次请求的的bean都是同一个bean,就是说bean是共享的,这种情况适合于无状态的bean,如果想容器每次请求都产生一个新的bean的话,就要改变默认情况,更改bean的范围成prototype像下面代码这样声明:

<bean id="duke" class="com.springinaction.springidol.PoeticJuggler" scope="prototype"/>

  有一种情况是没有公开构造函数,只能通过静态工厂方法创建单例的bean,这种情况下要这么写

<bean id="duke" class="com.springinaction.springidol.PoeticJuggler" factory-mothod="getInstance"/>