Spring IOC的缓存
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
Spring IOC的缓存的更多相关文章
- Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等)
		上文,我们看了IOC设计要点和设计结构:以及Spring如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的:容器中存放的是Bean的定义即Be ... 
- Spring IoC源码解析——Bean的创建和初始化
		Spring介绍 Spring(http://spring.io/)是一个轻量级的Java 开发框架,同时也是轻量级的IoC和AOP的容器框架,主要是针对JavaBean的生命周期进行管理的轻量级容器 ... 
- spring笔记6 spring IOC的中级知识
		1,spring ioc的整体流程,xml配置 spring ioc初始化的流程结合上图 步骤编号 完成的工作 1 spring容器读取配置文件,解析称注册表 2 根据注册表,找到相应的bean实现类 ... 
- Spring:源码解读Spring IOC原理
		Spring IOC设计原理解析:本文乃学习整理参考而来 一. 什么是Ioc/DI? 二. Spring IOC体系结构 (1) BeanFactory (2) BeanDefinition 三. I ... 
- Spring IoC源码解读——谈谈bean的几种状态
		阅读Spring IoC部分源码有一段时间了,经过不断的单步调试和参阅资料,对Spring容器中bean管理有了一定的了解.这里从bean的几个状态的角度出发,研究下IoC容器. 一.原材料 Xml中 ... 
- Spring学习进阶(二)Spring IoC
		在使用Spring所提供的各种丰富而神奇的功能之前,必须在Spring IoC容器中装配好Bean,并建立Bean与Bean之间的关联关系.控制反转(Inverser of Control ioc)是 ... 
- 对Spring IoC容器实现的结构分析
		本文的目标:从实现的角度来认识SpringIoC容器. 观察的角度:从外部接口,内部实现,组成部分,执行过程四个方面来认识SpringIoC容器. 本文的风格:首先列出SpringIoC的外部接口及内 ... 
- spring IOC容器实例化Bean的方式与RequestContextListener应用
		spring IOC容器实例化Bean的方式有: singleton 在spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在. prototype 每次从容器中调用Bean时, ... 
- 【Spring】Spring IOC原理及源码解析之scope=request、session
		一.容器 1. 容器 抛出一个议点:BeanFactory是IOC容器,而ApplicationContex则是Spring容器. 什么是容器?Collection和Container这两个单词都有存 ... 
随机推荐
- html()方法与append()方法
			注意加#!!!!!! $("#valuess").html("<input type='text' name='name' value= " + valu ... 
- C#入门概述
			ASP.NET 则是一种技术. Main方法 代码编写规范 命名规范 
- Vue.js源码中大量采用的ES6新特性介绍:模块、let、const
			1 关于ES6 ECMAScript6(以下简称ES6)是JavaScript语言的最新一代标准,发布于2015年6月,因为ECMA委员会决定从ES6起每年更新一次标准,因此ES6被改名为E ... 
- Android自动化测试探索(二)常用自动化工具
			Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google ... 
- 防火墙firewall
			开放端口 firewall-cmd --zone=public --add-port=80/tcp firewall-cmd --zone=public --add-port=80 ... 
- pipeline和channel的区别
			pipeline和channel的区别 在golang中,学到channel时,往往都会产生一些疑惑,和channel的区别是什么? 以下就是区别: difference channel pipeli ... 
- LB_Keogh
			LB_Keogh LB_Keogh 是Keogh设计的下界函数,相比于LB_Kim以及LB_Yi具有更好的效果. 公式 注释: 上面公式中的 u 和 l 指的是上下包络线 对公式解释一下,其实就是,首 ... 
- dedecms织梦第三方登录插件-QQ登录、微博登录、微信登录
			织梦程序集成第三方QQ登录.微博登录.微信登录,获取QQ.微博.微信,并存储至数据库,一键注册为网站会员,不用再次填写绑定信息,方便粘贴用户更强. 织梦第三方登录效果 第三方登录插件特点 1.所有文件 ... 
- 180908 input
			input while if # -*- coding:utf-8 -*- flag = 0 while flag == 0 : username = input('请输入用户名:\n') passw ... 
- MySQL 是怎么保证数据一致性的(转载)
			在<写数据库同时发mq消息事务一致性的一种解决方案>一文的方案中把分布式事务巧妙转成了数据库事务.我们都知道关系型数据库事务能保证数据一致性,那数据库到底是怎么设计事务这一特性的呢? 一. ... 
