GenericBeanDefinition继承关系
GenericBeanDefinition继承关系
![](https://i-blog.csdnimg.cn/blog_migrate/f564c8c6e23ecc7b8bf6733f123418fd.png)
GenericBeanDefinition封装的标签内容
序号 | 标签属性 | 用途 | 重要程度 |
---|
1 | id | bean的唯一标识,必须是合法的XMLid,在整个XML文档中唯一。 | |
2 | class | 用来定义类的全限定名(包名+类名),只有子类Bean不用定义该属性。 | |
3 | name | 为id创建别名,可以是任意的字母组合,多个别名之间用逗号或者空格分开。 | |
4 | parent | 子类Bean定义它所引用它的父类Bean,这时父类的class属性失效,子类Bean会继承父类Bean的属性。 | |
5 | abstract | 默认为false;用来定义Bean是否为抽象Bean。它表示这个Bean将不会被实例化,一般用于父类Bean,因为父类Bean主要是供子类继承使用。 | |
6 | lazy-init | 默认为default;用来定义这个Bean是否实现懒初始化。如果为"true",它将在BeanFactory启动时初始化所有的SingletonBean;如果为"false",它只在Bean请求时才开始创建SingletonBean。 | |
7 | autowire | 自动装配,默认为no,它定义了Bean的自动装载方式。(1)no:不使用自动装配功能;(2)buName:通过Bean的属性名实现自动装配;(3)byType:通过Bean的类型实现自动装配;(4)constructor:类似于byType,但它是用于构造函数的参数的自动组装;(5)autodetect:通过Bean类的反省机制(introspection)决定是使用"constructor"还是"byType"。 | |
8 | autowire-candidate | 采用xml格式配置Bean时,将/< bean/>元素的autowire-candidate属性设置为false,这样容器在查找自动装配对象时,不考虑该bean,他也不会被考虑作为其它bean自动装配的候选者,但是该bean本身还是可以自动装配注入其它bean。 | |
9 | dependency-check | 默认none。none:不检查;simple:对原始类型(基本类型,String,集合)检查;object:对依赖对象检查;all:对所有属性检查。 | |
10 | depends-on | 依赖对象;这个Bean在初始化时依赖的对象,这个对象会在这个Bean初始化之前创建。 | |
11 | primary | 自动装配时优先加载当前bean。 | |
12 | init-method | 用来定义Bean的初始化方法,它会在Bean组装之后调用,它必须是一个无参数的方法。 | |
13 | destory-method | 用来定义Bean的销毁方法,它在BeanFactory关闭时调用,同样,它也必须是一个个无参数的方法,它只能应用于singletonBean。 | |
14 | factory-method | 定义创建该Bean对象的工厂方法,它用于下面的factory-bean,表示这个Bean是用过工厂方法创建,此时,"class"属性失效。 | |
15 | factory-bean | 定义创建该Bean对象的工厂类,如果使用了"factory-bean",则"class"属性失效。 | |
16 | MultablePropertyValues | 初始化Bean的属性值。 | |
17 | ConstructorArgumentValues | 用于封装< constructor-arg>标签的信息,其实类里面就是有一个map,map中用构造函数的参数顺序作为key,值作为value存储到map中。 | |
18 | MethodOverrides | 用于封装lookup-method和replaced-method的标签信息,同样的类里面有一个set对象添加LookupOverride对象和ReplaceOverride对象。 | |