单例对象:
创建:容器创建时对象创建
生存:容器存在,对象活着
死亡:容器销毁,对象销毁
多例对象:
创建:当使用时对象创建
生存:对象在使用时就或者
死亡:java的垃圾回收机制,对象长时间不用,且后面没有别的对象引用时
public class Test1 {
public AccountServices getAccountServices(){
return new AccountServices();
}
public static AccountServices SgetAccountServices(){
return new AccountServices();
}
public void init(){
System.out.println("init");
}
public void destory(){
System.out.println("destory");
}
}
<bean id="text_id2" class="com.shiyukirito.Test1" init-method="init" destroy-method="destory"> </bean>
进行以上设置,init-method和destroy-method分别设置创时执行的方法和销毁时执行的方法.
默认是单例的可以看一下执行效果.主函数执行代码和效果如下
可以看到没有出现destory
当我们手动加上destory时.
这样可以看到容器的关闭,有出现destroy.
不过自己手动去destroy关闭容器,是很不赞成的
现在来看一下多例对象
<bean id="text_id2" class="com.shiyukirito.Test1" scope="prototype" init-method="init" destroy-method="destory"> </bean>
可以看到没有出现destroy,使用多例对象时,spring创建完成这个对象后就不在去管理他的销毁.