property 标签和 constructor-arg 标签

来源:3-14 利用setter实现对象依赖注入

开心向前冲

2022-12-18 10:13:54

这节课里的 property 标签

和前面那些 constructor-arg 标签

有什么区别..


   <bean name="apple2" class="com.imooc.spring.ioc.entity.Apple">    <!--name 就是定义的 class 的属性名, value 就是赋值. 相当于 apple2.name = "红富士"-->        <constructor-arg name="title" value="红富士"/>        <constructor-arg name="color" value="红色"/>        <constructor-arg name="origin" value="欧洲"/>        <!--spring 会进行自动的类型转换, 比如这里的 price 在定义Apple class的地方是个 float,但这里不用明确说明-->        <constructor-arg name="price" value="19.8"/>    </bean>


   <bean id="sweetApple" class="com.imooc.spring.ioc.entity.Apple">        <!-- IoC容器自动利用反射机制运行时调用setXXX方法为属性赋值 -->        <!--这些 property 都会自动调用 Apple 的各种 set() method-->        <!--如果一个属性没 setter, 就会报错-->        <property name="title" value="红富士"/>        <property name="color" value="红色"/>        <property name="origin" value="欧洲"/>        <property name="price" value="19.8"/>    </bean>

写回答

1回答

好帮手慕小小

2022-12-18

同学你好,注入的方式不同,constructor-arg是通过构造函数注入。   property是通过setXXX方法注入。

祝学习愉快~

0

0 学习 · 9886 问题

查看课程