在 Spring 中, 可以在 元素的 scope 属性里设置 Bean 的作用域。
默认情况下, Spring 只为每个在 IOC 容器里声明的 Bean 创建唯一一个实例,整个 IOC 容器范围内都能共享该实例:所有后续的 getBean() 调用和 Bean 引用都将返回这个唯一的 Bean 实例,该作用域被称为 singleton,它是所有 Bean 的默认作用域。
各个作用域:
XML中定义了一个bean,scope属性为为singleton
结果是true,说明在Spring容器中只声明过一次的Bean默认只会产生一个实例。
scope属性默认就是singleton。换成prototype则是每次都返回一个新的实例,这里不贴例子了。
总结:
singleton是在容器启动的时候初始化,而prototype则是每次新建实例(getBean)的时候创建。