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”的时候就不是这样了,要第一次调用。