<bean id=" testBean " class = "com.bean.TestBean" ></bean>
TestBean bean1 = ( TestBean )ctx.getBean(" testBean " );
TestBean bean2 = ( TestBean )ctx.getBean(" testBean " );
System.out.println(bean1==bean2);
System.out.println(bean1.equals(bean2));
运行结果:
true
true
测试发现bean1==bean2,bean1.equals(bean2)均返回为true。这说明默认的情况下,Spring采用的是单例Singleton模式创建对象,创建后每次使用的对象是同一个引用。
如果在bean创建时加上scope= "prototype".
Prototype作用域的bean:会使每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。
使用这一特性可以解决struts action单实例问题.