正常情况下采用默认配置方式:无参数的构造方法的方式。
这里不再做具体的演示说明,相关代码我已经上传 github,可以访问下面链接参考:
class 用于设置一个类的完全路径名称,主要作用是 IOC 容器生成类的实例。
类别 | 说明 |
---|---|
singleton | 在 SpringIOC 容器中仅存在一个 Bean 实例,Bean 以单实例的方式存在 |
prototype | 每次调用 getBean() 时都会返回一个新的实例 |
request | 每次 HTTP 请求都会创建一个新的 Bean,该作用域仅适用于 WebApplicationContext 环境 |
session | 同一个 HTTP Session 共享一个 Bean,不同的 HTTP Session 使用不同的 Bean。该作用域仅适用于 WebApplicationContext 环境 |
scope 属性来配置。singleton 为默认值(单例)。
常用的为 singleton和protoype。
<bean id="person" class="com.test.ioc.demo3.Person"/>
打印输出测试结果如下:
可以看到 getBean 返回实例的地址是一样的,所以是单例的。
<bean id="person" class="com.test.ioc.demo3.Person" scope="prototype"/>
打印输出测试结果:
getBean 返回实例的地址不一样,prototype 每次调用 getBean() 时都会返回新实例。
原文:https://www.cnblogs.com/weixuqin/p/11027826.html