Spring 容器是通过单例模式创建 Bean 对象的,也就是说,
默认情况下,通过调用 ac.getBean("mybean")方法获得的对象都是同一个 mybean 对象

使用单例模式有风险,风险在于多线程并发访问时会有一些状况。
那么如何取消容器默认单例模式创建对象?
14)  修改 applicationContext.xml
设置创建 bean 的模式为原型模式(prototype)即可以
代码片段
<bean id="mybean"
lazy-init="true"
scope="prototype"
class="tarena.demo3.MyBean"></bean>
15)  运行 Test
注意:调用了 2 次 MyBean 的构造方法,说明创建了 2 个对象

scope 属性的取值
在 web(仅限于 web 项目)环境中,还可以设置所创建的 bean 对象的生命周期和
request、session
  request      表示 bean 对象生命周期和 request 生命周期相同
  session      同 session
  global session    相当于 application
  single
  prototype

05-11 10:52