网站加急备案,wordpress大学,安徽 网站建设,中咨建设监理有限公司网站xml文件中最常见也最核心的就是bean,Import,beans,alias标签,关于它们的解析主要是BeanDefinitionParserDelegate类中.bean标签的解析最为复杂和重要. bean标签 processBeanDefinition(ele, delegate)方法中,主要是是对… xml文件中最常见也最核心的就是bean,Import,beans,alias标签,关于它们的解析主要是BeanDefinitionParserDelegate类中.bean标签的解析最为复杂和重要. bean标签 processBeanDefinition(ele, delegate)方法中,主要是是对Bean标签本身和里面的自定义标签两部分进行解析.该方法中执行了如下4个步骤
① 提取Element元素中的“id”和“name”属性并将name解析为aliases然后为beanName赋值。
② 解析其他属性并封装到GenericBeanDefinition类型的实例中。
③ 如果发现bean没有指定beanName那么使用默认规则生成beanName。
④ 将获取到的信息封装到BeanDefinitionHolder类型的实例中。 parseBeanDefinitionElement() 解析Bean元素 1. 创建GenericBeanDefinition实例对象
2. parseBeanDefinitionAttributes 解析Bean标签的属性 3. parseMetaElements(ele,bd) meta子标签解析 使用了meta标签后配置的desc并不会体现在bean的属性当中而只是一个额外的声明。当需要使用里面的信息的时候可以通过BeanDefinition的getAttribute(key)方法进行获取。 4. parseLookupOverrideSubElements() 解析lookup-method子标签 它的作用是获取器注入。即获取器注入是一种特殊的方法注入它是把一个方法声明为返回某种类型的bean但实际要返回的bean是在配置文件里面配置的此方法可用在设计有些可插拔的功能上解除程序依赖 5. parseReplacedMethodSubElements() 解析replaced-mothod子标签 replaced-mothod可以实现方法替换通过实现MethodReplacer接口可以在运行时用新的方法替换现有的方法。 6. parseConstructorArgElements() 解析constructor-arg 子标签, 通过构造函数来初始化bean.
7. parsePropertyElements() 解析property子标签, 通过setter给Bean属性赋值 8. parseQualifierElement 解析Qualifier子标签, 主要搭配Autowired实现按名称注入
decorateBeanDefinitionIfRequired() 解析自定义子标签() registerBeanDefinitions() 注册BeanDefinition bean标签常见属性
id: bean的唯一标识不能包含特殊字符 class: bean类的完全路径 name: bean的名字基本不用和id功能一样可以包含特殊字符 abstract: 声明bean为抽象beanbean就不会被实例化作用和parent属性搭配使用 autowire: 自动装配模式有5种no、byName、byType、constructor、default.
scope: 一种实例化模式prototype(多例) 和 singleton(单例, 默认)。
bean常见子标签
meta子标签 meta key value /meta以键值对形式存在key是键value是值在一个bean中声明meta子元素这个meta并不是bean的成员这是在这个bean里面声明一下借用这个bean而已需要调用meta的时候是需要借用bean来调用的。
property子标签
property name value /property 或者 property name ref /property property成员属性属性名属性值属性值可以是一个引用。value代表值ref代表引用。property是通过setter方法来设置值的。
constructor-arg 子标签
property标签通过setter方法来初始化bean的成员constructor-arg通过构造函数来初始化bean。
constructor-arg name value /constructor-arg表示构造函数的参数名和参数值。value是值ref是引用。
constructor-arg type value /constructor-arg表示构造函数的参数类型 和 参数值。value是值ref是引用。
constructor-arg index value /constructor-arg表示构造函数的参数顺序 和 参数值。value是值ref是引用。
description 子标签
description描述信息/description 作为描述信息存在。
lookup-method子标签 它的作用是获取器注入。即获取器注入是一种特殊的方法注入它是把一个方法声明为返回某种类型的bean但实际要返回的bean是在配置文件里面配置的此方法可用在设计有些可插拔的功能上解除程序依赖
replaced-method子标签
可以实现方法替换通过实现MethodReplacer接口可以在运行时用新的方法替换现有的方法。