bean的作用域:
<bean id="person" class="poscope.Person"
scope="prototype" p:name="xiaobai" p:age="19">
</bean>
scope有四个值,常用的有singleton(默认也是这个),prototype.
当spcoe的值为singleton,指定bean实例化是单例模式的,即IOC容器值创建一个该bean的对象,而且在创建IOC容器时就会初始化bean;
当scope的值为prototype时,每当IOC容器getBean就创建一个新的bean对象。在main方法中测试:
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContextScope.xml");
Person p=(Person) ctx.getBean("person");
Person p2=(Person) ctx.getBean("person");
System.out.println(p==p2);
}
当scope为默认值时,打印true;当为prototype时,打印false;