spring bean的生命周期和作用范围

spring bean的生命周期和作用范围

单例对象:scope = “singleton”

作用范围:一个应用只有一个对象的实例。他的作用范围就是整个应用。

生命周期
	出生:当容器创建的时候,bean的实例就出生了
	 ApplicationContext context =
                new ClassPathXmlApplicationContext("beans.xml");

	
	活着:当容器还在的时候,bean 的实例就一直存在。
	
	死亡:当容器销毁的时候,bean 的实例就死亡。

总结:单例对象的生命周期和Spring容器一样。

多例对象:scope = “prototype”

作用范围:每次得到对象的时候,都会重新创建实例。

生命周期
	
	出生:当我们要使用改类的实例的时候,Spring框架会为我们创建该对象。
	 User user1 =(User) context.getBean("user");
	 
	活着:当我们要使用它的时候,就一直存在。
	
	死亡:当对象长时间不使用的时候,且没有别的对象引用它的时候,JVM中的GC就将它回收掉了。

scope属性的其他值:

1.singleton
2.prototype
3.request:仅对http请求产生作用。其实也是多例,每次的请求都会新创建一个实例。
4.session:仅对http session请求产生作用。同一个会话,中bean的实例是单例的,多个会话的bean的实例是多例。
5.global-session:仅对http session请求产生作用
上一篇:spring 优雅停机


下一篇:Spring系列8:bean的作用域