Bean的作用域_初始化_Bean的作用域_延迟初始化_指定Bean的初始化方法和销毁方法

Bean的作用域_延迟初始化_初始化方法_销毁方法  

 

.singleton

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

 <bean id="xxx" class="cn.itcast.OrderServiceBean" lazy-init="true"/>

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

<beans default-lazy-init="true“ ...>

.prototype

 每次从容器获取bean都是新的对象。

 

.request

.session

.global session

 

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<!-- scope属性,设置bean的作用于,默认singleton(共享一个对象实例), prototype(独立构成实例) -->
	<!-- 也可以填写request , session , global session-->
	<bean id="personService" class="com.dwt1220.PersonServiceBean" scope="prototype" />
	
</beans>


 

初始化

延迟初始化

<bean id="xxx" class="cn.itcast.OrderServiceBean" lazy-init="true"/>

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

<beans default-lazy-init="true“ ...>

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" >

	<!-- lazy-init="true" 指定Bean节点,来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean-->	
	<!-- 对所有bean都应用延迟初始化,在根节点beans设置default-lazy-init="true" -->
	<bean id="personService" class="com.dwt1220.PersonServiceBean" lazy-init="true"/>
	

</beans>


 

指定Bean的初始化方法和销毁方法

<bean id="xxx" class="cn.itcast.OrderServiceBean" init-method="init" destroy-method="close"/>

你可能感兴趣的:(spring,bean,session,prototype,Class,encoding)