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方法注入。
祝学习愉快~
相似问题