[size=medium][b]Bean的作用域[/b][/size]
[list]
[*].singleton
在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:
[quote]<bean id="xxx" class="cn.itcast.OrderServiceBean" lazy-init="true"/>[/quote]
如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“,如下:
[quote]<beans default-lazy-init="true“ ...>[/quote]
[*].prototype
每次从容器获取bean都是新的对象。
[*].request
[*].session
[*].global session
[/list]
[size=medium][b]Bean的实例化时刻[/b][/size]
lazy-init="false" 容器启动时初始化bean
lazy-init="true" 第一次getBean时初始化bean
[size=medium][b]bean的初始和销毁操作[/b][/size]
init-method="init" bean被实例化后将自动执行
destroy-method="destroy" 容器关闭时,bean被销毁前执行
[list]
[*].singleton
在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:
[quote]<bean id="xxx" class="cn.itcast.OrderServiceBean" lazy-init="true"/>[/quote]
如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“,如下:
[quote]<beans default-lazy-init="true“ ...>[/quote]
[*].prototype
每次从容器获取bean都是新的对象。
[*].request
[*].session
[*].global session
[/list]
[size=medium][b]Bean的实例化时刻[/b][/size]
lazy-init="false" 容器启动时初始化bean
lazy-init="true" 第一次getBean时初始化bean
[size=medium][b]bean的初始和销毁操作[/b][/size]
init-method="init" bean被实例化后将自动执行
destroy-method="destroy" 容器关闭时,bean被销毁前执行