配置如下
<bean id="car" class="autowire.Car">
<property name="brand" value="Audi"></property>
<property name="price" value="300000"></property>
</bean>
获得bean运行
得到结果为true,说明在配置bean 的时候默认为单例的
我们也可以在配置bean的时候设置它的作用域,在配置的bean 的时候使用scope属性,在不写scope属性的时候默认为singleton,也就是说bean是单例的,scope可以配置为"singleton"、"session"、"request"、"prototype"。
当配置为prototype的时候,每次从容器获取bean的时候都会创建一个新的bean,以下为测试结果。
<bean id="car" class="autowire.Car" scope="prototype">
<property name="brand" value="Audi"></property>
<property name="price" value="300000"></property>
</bean>
可以看到结果为false。
总结:
singleton:默认值,容器初始化时创建bean实例,在整个容器的生命周期内置创建这一个bean,单例的
prototype:原型的,容器初始化时不创建bean实例,而在每次请求时都创建一个新的bean实例,并返回