问答详情
源自:2-2 Spring注入方式

关于设置注入与构造注入

  为什么set方法里面的参数可以与配置文件里的name不一样,而构造函数就不行

https://img.mukewang.com/5b5c2c5900013df604900245.jpg

https://img4.mukewang.com/5b5c2c5a0001b0a907000201.jpg


提问者:天天21 2018-07-28 16:43

个回答

  • 慕前端6229441
    2018-09-19 08:27:34

    set方法为成员变量设置值的时候是根据set*这个set方法名进行匹配的,和参数没有关系。
    构造函数为成员变量设置值的时候是根据参数名匹配的,和参数名有关系。

  • 慕丝730910
    2018-07-29 19:21:15

    设置注入的方式主要是通过------类中的set的方法实现的,也就是你的实现类中必须有set方法,所以name的属性值应该是set后面的。

    构造注入的方式主要是通过------有参构造器实现的,其中也可以没有name属性。比如这样

    <bean  id=“classA” class="/ClassA"

    <constructor-arg ref="arg"/>

    ></bean>


    <bean id="arg" name="TestClass">

    </bean>

    所以说的话  我认为后者 name属性值 应该是任意 的。只是ref 的属性值   应该与所属类的bean的id值保持一致