丶子非鱼
2017-06-03 10:41
我不懂byName的原理
意思就是bytype可能有多个?
自动装配
byName:通过属性名称自动装配。spring会检查set方法,比如你有一个setMaster(),这个方法提供注入,那相应的Bean name或者id 为master的Bean 就会被注入到协作者(就是类里面你所定义的引用型成员)中
如:
pubic class Test{
private Master master;
public void setMaster(Master master){
this.master = master;
}
}
<bean id="master" class="">
byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。就是查找构造器或者方法中的参数,参数的类型匹配了就注入。
如:
pubic class Test{
private Master master;
public Test(Master master){
}
public void setMaster(Master master){
this.master = master;
}
}
<bean id="master" class="xxx.xxx.Master">
Spring入门篇
268785 学习 · 963 问题
相似问题