解析BeanDefinition之解析子元素lookup-method。
来源:互联网 发布:背诵单词软件 编辑:程序博客网 时间:2024/05/21 12:50
// 解析lookup-method属性
parseLookupOverrideSubElements(ele, bd.getMethodOverrides());
同样,子元素lookup-method似乎并不是很常用,但是在某些时候它的确是非常有用的属性,通常我们称它为获取器诸如。引用《Spring in Action》中的一句话:获取器注入是一种特殊的方法注入,它是把一个方法声明为返回某种类型的bean,但实际要返回的bean是在配置文件里面配置的,此方法可用在涉及有些可插拔的功能上,解除程序依赖。
parseLookupOverrideSubElement(Element beanEle, MethodOverrides overrides);
//获取当前节点的所有子元素,进行遍历
NodeList nl = beanEle.getChildNodes();
//仅当在Spring默认bean的子元素下且为<lookup-method时有效
if(isCandidateElement(node) && nodeNameEquals(node, LOOKUP_METHOD_ELEMENT)) {
//获取要修饰的方法
String methodName = ele.getAttribute(NAME_ATTRIBUTE);
//获取配置返回的bean
String beanRef = ele.getAttribute(Bean_Element);
// 使用LookupOverride类型的实体类进行数据承载
LookupOverride override = new LookupOverride(methodName, beanRef);
override.setSource(extractSource(ele));
// 记录信息
override.addOverride(override);
}
上面代码很熟悉,与parseMetaElements的代码大同小异,最大的区别就是在if判断中的节点名称在这里被修改为LOOKUP_METHOD_ELEMENT。还有,在数据存储上面通过使用LookupOverride类型的实体类来进行数据承载并记录在AbstractBeanDefinition中的methodOverrides属性中。
- 解析BeanDefinition之解析子元素lookup-method。
- 解析BeanDefinition之解析子元素replaced-method
- 解析BeanDefinition之解析子元素meta.
- 解析BeanDefinition。
- 解析BeanDefinition之解析各种属性。
- 解析BeanDefinition之创建用于属性承载的BeanDefinition。
- 深入理解Spring系列之二:BeanDefinition解析
- Spring 3.2 源码解析 -- XML bean 元素到 BeanDefinition 解析过程
- Spring的XML配置文件中的bean的子元素lookup-method的作用是什么
- SpringIoC初始化BeanDefinition解析——从Resource到BeanDefinition
- 解析LOOKUP函数
- spring源码解析之bean的子元素
- SpringIoC初始化BeanDefinition解析——注册
- spring bean中子元素lookup-method和replaced-method
- Spring源码阅读之IoC容器初始化2 -- BeanDefinition载入与解析
- spring 技术内幕--IOC初始化过程深入之BeanDefinition的载入和解析1
- Argument Dependent Lookup (ADL)解析
- bean标签的解析及注册(二)解析BeanDefinition
- 二叉树的锯齿形层次遍历-LintCode
- 2017计算机夏令营汇总
- 乞力马扎罗的雪
- Spring事务配置及事务的传播性与隔离级别详解
- [单页面]Django打造在线教育平台(四)--django项目的目录
- 解析BeanDefinition之解析子元素lookup-method。
- HTML5多媒体素材的运用
- Pandas 的apply函数
- python IOError: [Errno 22] invalid mode ('r') or filename;错误的处理方法
- [Machine Learning] 梯度下降法的三种形式BGD、SGD以及MBGD
- 隐含因子
- 体验 COS 与 CDN 服务 for PHP
- 前后端传值低级错误
- php 获取本周一 时间