@Test
publicvoidtestBean() throws Exception {
//配置文件applicationContext.xml
ApplicationContext ac = new ClassPathXmlApplicationContext(
"com/qingtian/spring/applicationContext.xml");
User user = (User) ac.getBean("user");
User user1 = (User) ac.getBean("user");
System.out.println(user);
System.out.println(user1);
}
@Test
publicvoidtestBean() throws Exception {
ApplicationContext ac = new ClassPathXmlApplicationContext(
"com/qingtian/spring/applicationContext.xml");
System.out.println("创建IOC容器");
User user = (User) ac.getBean("user");
User user1 = (User) ac.getBean("user");
System.out.println(user);
System.out.println(user1);
}
来看一下输出的日志
当scope设置为singleton,在容器启动之前,对象就已经创建了,且只有一个!
(2)scope=”prototype”
代码与1的一致,只将scope属性设置为prototype
来看一下输出的日志
在用到对象的时候,才会创建对象
3:延迟创建
(1)scope=”singleton” lazy-init=”true”
@Test
publicvoidtestBean() throws Exception {
ApplicationContext ac = new ClassPathXmlApplicationContext(
"com/qingtian/spring/applicationContext.xml");
System.out.println("创建IOC容器");
User user = (User) ac.getBean("user");
User user1 = (User) ac.getBean("user");
System.out.println(user);
System.out.println(user1);
}
@Test
public void testBean() throws Exception {
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext(
"com/qingtian/spring/applicationContext.xml");
System.out.println("创建IOC容器");
User user = (User) ac.getBean("user");
User user1 = (User) ac.getBean("user");
System.out.println(user);
System.out.println(user1);
ac.destroy();
}