work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Spring IOC的缓存

Posted on 2019-07-13 23:31  work hard work smart  阅读(285)  评论(0编辑  收藏  举报

1、将上一篇的测试代码修改如下

public class SpringTest {

	public static void main(String[] args) {
			
		ClassPathResource resource = new ClassPathResource("com/example/spring/beans.xml");
		DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
		
		XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory);
		
		reader.loadBeanDefinitions(resource);
		
		Person person = (Person)factory.getBean("person");
		
		System.out.println(person.say());
		
		
		Person person2 = (Person)factory.getBean("person");
		
		System.out.println(person == person2);
		
	}
}

  输出结果:

Hello,Tom
true

  说明person和person2是同一个对象

 

如果此时在beans.xml增加属性scope="prototype",

则输出结果为false

Hello,Tom
false