问答详情
源自:4-4 Spring Bean装配之Autowired注解说明-3

spring byType和byName 是什么意思

我不懂byName的原理

提问者:丶子非鱼 2017-06-03 10:41

个回答

  • 丶子非鱼
    2017-06-03 16:39:25

    意思就是bytype可能有多个?

  • qq_AmorFati_9
    2017-06-03 16:24:00

    自动装配

    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">