Spring中bean有三种装配机制,分别是:在xml中显示配置、在java中显示配置以及隐式的bean发现机制和自动装配。
下面我们要了解的是spring中bean自动装配
在spring框架中共有5种自动装配
1. no:这是Spring框架的默认设置,默认不支持自动装配
2. byName:从Spring环境中获取目标对象时,目标对象中的属性会根据名称在整个Spring环境中查找标签的id属性值。如果有相同的,那么获取这个对象,实现关联。整个Spring环境:表示所有的spring配置文件中查找,那么id不能有重复的。3. byType:从Spring环境中获取目标对象时,目标对象中的属性会根据类型在整个spring环境中查找标签的class属性值。如果有相同的,那么获取这个对象,实现关联。缺点:如果存在多个相同类型的bean对象,会出错。如果属性为单一类型的数据,那么查找到多个关联对象会发生错误。如果属性为数组或集合(泛型)类型,那么查找到多个关联对象不会发生异常。4. constructor:使用构造方法完成对象注入,其实也是根据构造方法的参数类型进行对象查找,相当于采用byType的方式。
5. autodetect:自动选择:如果对象没有无参数的构造方法,那么自动选择constructor的自动装配方式进行构造注入。如果对象含有无参数的构造方法,那么自动选择byType的自动装配方式进行setter注入。
xml显示配置