赞
踩
@Test
public void demo1() {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
Stu stu1 = (Stu) ac.getBean("stu");
Stu stu2 = (Stu) ac.getBean("stu");
System.out.println(stu1);
System.out.println(stu2);
}
结果:(输出的引用相同)
<bean id="stu" class="com.ricky.pojo.Stu" scope="prototype">
设置为多例时的结果:
(1)通过构造器创建 bean 实例(无参数构造)
(2)为 bean 的属性设置值和对其他 bean 引用(调用 set 方法)
(3)调用 bean 的初始化的方法(需要进行配置初始化的方法)
(4)bean 可以使用了(对象获取到了)
(5)当容器关闭时候,调用 bean 的销毁的方法(需要进行配置销毁的方法)
public class Orders { //无参数构造 public Orders() { System.out.println("第一步 执行无参数构造创建bean实例"); } private String oname; public void setOname(String oname) { this.oname = oname; System.out.println("第二步 调用set方法设置属性值"); } //创建执行的初始化的方法 public void initMethod() { System.out.println("第三步 执行初始化的方法"); } //创建执行的销毁的方法 public void destroyMethod() { System.out.println("第五步 执行销毁的方法"); } }
xml中配置:
<bean id="orders" class="com.ricky.bean.Orders" init-method="initMethod" destroy-method="destroyMethod">
<property name="oname" value="电话"/>
</bean>
测试方法:
@Test
public void demo2() {
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
Orders orders = (Orders) ac.getBean("orders");
System.out.println("第四步:获取bean的实例化对象");
System.out.println(orders);
ac.close();
}
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。