Spring学习 4

来源:互联网 发布:ucloud云计算 演讲 编辑:程序博客网 时间:2024/06/06 02:37

bean的作用域

>>singleton默认

     在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init="true"来延迟初始化bean,这样,只有第一次获取bean才会初始化bean。如:

    <bean id="xxx" class="xxxxxxxxxxxx" lazy-init="true" />

   如果想对所有的bean都应用延迟初始化,可以在根节点bean设置default-lazy-init="true",如下:

   <beans default-lazy-init="true" />
>>prototype

   每次从容器获取bean都是新的对象。
>>request
>>session
>>global session

可以通过构造方法中打印一句话,来验证各作用域的加载时机。 结论,scope=“singleton”时候容器加载就直接打印了,scope=“prototype的时候就不是这样了,要第一次调用。
0 0