spring学习笔记(6)——bean的作用域

来源:互联网 发布:php cgi not found 编辑:程序博客网 时间:2024/06/05 03:28

bean的默认作用域

bean的作用域并不是指bean的作用的范围,它是指bean的scope属性。

bean的scope,它的默认值为singleton

<!-- 如果不声明scope属性,则值默认为singleton,如下 --><bean id="car" class="com.zj.scope.Car" scope="singleton"></bean>

这个属性有什么作用呢,我们来看代码

Car类的构造函数

    public Car(){        System.out.println("car is creating");    }

写一个测试方法

    public static void main(String[] args) {        ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-scope.xml");        Car car =  (Car) ctx.getBean("car");        car = (Car) ctx.getBean("car");    }

结果这里写图片描述

  • 如图所示,car的构造方法被调用了一次,因此可以得出一个结论:
  • car这个bean是单例的,这也是singleton的作用,声明该bean单例

将scope改为”prototype”

<bean id="car" class="com.zj.scope.Car" scope="prototype"></bean>

再次调用测试方法,结果如下
这里写图片描述

  • prototype这个值,声明该bean为原型bean(非单例)

scope还有其他值,基本用不上,就不说了。

0 0
原创粉丝点击