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

老师这节讲到属性对应关系好像有点问题!

下面是我测试的一些东西,不知道对不


<bean id="injectService" class="com.imooc.service.InjectServiceImple">

<!-- 这里设置参数给injectService所对应的类,这里是通过设值注入来实现的,设值注入的

实质其实是调用setter方法,比如

<property name="injectDAO" ref="injectDao"/> 

其实在执行的时候是调用setInjectDAO()这个方法。一定要注意这点。

,而fef中的值

是调用要指定类的id(就是下面这个id),并且必须要有默认的构造器,不然要报错 -->


这是api对property里面name属性的解释:

The name of the property, following JavaBean naming conventions.


<property name="injectDAO" ref="injectDao"/> 



<!-- 这里有一点要非常注意的是,通过构造注入的name不是成员变量的名称,而是构造方法中的那个参数名称,特别注意 -->


这是api对constructor-arg中name属性的介绍:

The exact name of the argument in the constructor argument list(我只截了第一句,已经很明白了,具体可以去看看)


<constructor-arg name="inject" ref="injectDao"></constructor-arg>

</bean>

<bean id="injectDao" class="com.imooc.dao.InjectDAOImple"></bean>


提问者:福尔摩斯易 2016-07-22 19:40

个回答

  • drinkwater
    2016-10-26 16:23:16

    谢谢楼主

  • 去南极给企鹅洗热水澡
    2016-10-23 13:46:07

    楼上说的对!!!

  • 半成品LY
    2016-08-06 23:24:39

    <!-- 这里有一点要非常注意的是,通过构造注入的name不是成员变量的名称,而是构造方法中的那个参数名称,特别注意 -->


    我觉得这里可以这么理解,构造函数里的形参最后是要赋值给成员变量的。

  • 飞侠li
    2016-07-24 09:19:32

    对的,我也这样试过