在Spring中,可以在< bean >元素的scope属性里设置bean的作用域,以决定这个bean是单实例的还是多实例的。
默认情况下,Spring值为每个在IOC容器里声明的bean创建唯一一个实例,整个Ioc容器范围内都能共享该实例:所有后续的getBean()调用和bean引用都将返回这个唯一的bean。该作用域被称为singleton,它是所有bean的默认作用域。
当bean的作用域为单例时,Spring会在IOC容器对象创建时就创建bean的对象实例。而当bean的作用域为prototype时,Ioc容器在获取bean的实例时创建bean的实例对象
bean的作用范围和生命周期
单例对象: scope=“singleton” 一个应用只有一个对象的实例。他的作用范围就是整个引用 生命周期: 对象出生:当应用加载,创建容器时,对象创建 对象活着:只要容器在,对象一直活着 对象死亡:当应用卸载,销毁容器时,对象销毁
多例对象:scope=“prototype” 每次访问对象时,都会重新创建对象实例 生命周期: 对象出生:当使用对象时,创建新的对象实例 对象活着:只要对象在使用中,就一直活着 对象死亡:当对象长时间不用时,就被java的垃圾回收器回收了。