1. 首先学习下Spring bean的作用域有singleton(默认)(单例模式),prototype(原始模型模式),session,request等。
每次调用bean的方法,prototype都会提供一个新的对象(重新new),并不保存原有的实例,而singleton不同,多次调用bean实际上都是使用的同一个singleton对象,而且保存了对象的状态信息。
注意:Spring中依赖注入的默认对象为单例形式,@Scope(“prototype”)注解可以将其改变为原型模式。
改变底层(如service层)的对象为原型时,同时改变上层调用层(如controller层)的调用方式,原型模式才会生效。
2. Bean是一个被实例化,组装,并通过Spring IOC容器(Bean Factory和ApplicationContext容器)所管理的对象。
3. 下面开始介绍Spring的生命周期,这里可以表达为
Bean的实例化 - Bean的初始化 - Bean的使用 - Bean的销毁