Spring之bean作用域(JAVASE)

来源:互联网 发布:数据库的事物是什么 编辑:程序博客网 时间:2024/05/21 06:22

在 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)的时候创建。

原创粉丝点击