1.Spring的三种实例化bean方式
1)使用类构造器实例化
<bean id=”xxx” class=”xxx”/>
2)使用静态工厂方法实例化
<bean id=”xxx” class=”xxx” factory-method=”xxx”/>
public class xxx{
public static 类名 xxx(){}
}
3)使用实例化工厂方法实例化
<bean id=”xxx” class=”xxx”/>
<bean id=”xxx” factory-bean=”包含class属性的bean的id” factory-method=”xxx”/>
public class xxx{
public类名 xxx(){}
}
2.配置bean的作用域(scope属性)
bean的作用域scope属性:
singleton:在每个Spring ioc容器中一个bean定义只有一个对象实例。默认情况下容器启动时初始化bean,但我们可以指定bean节点的lazy-init=”true”来延迟初始化bean。这时候,只有第一次获取bean才会初始化bean。
如果想对所有bean都应用延迟初始化,可在根节点beans设置default-lazy-init=”true”。
prototype:每次从容器获取的bean都有新对象。
request、session、global session
3.Spring管理的bean的生命周期
1)init-method属性:指定初始化方法,在构造方法之后执行。
2)destroy-method属性:指定销毁方法。当没有人为删掉 bean时,一直存在于Spring容器中,直到Spring容器关闭。