Car有2个构造器
//无参构造 public Car() {} //有参构造 public Car(String brand, double speed, double price) { this.brand = brand; this.speed = speed; this.price = price; }
<bean id="car" class="com.llf.bean.Car"/>
<bean id="car" class="com.llf.bean.Car"> <property name="brand" value="宝马"></property> <property name="price" value="2000000"></property> <property name="speed" value="300.00"></property> </bean>
1)这里默认按照构造器的顺序赋值(不推荐)
<bean id="car" class="com.llf.bean.Car"> <constructor-arg value="奥迪"></constructor-arg> <constructor-arg value="300"></constructor-arg> <constructor-arg value="200000"></constructor-arg> </bean>
2)这里是匹配构造器的参数名赋值(不推荐)
<bean id="car" class="com.llf.bean.Car"> <constructor-arg name="brand" value="奔驰"></constructor-arg> <constructor-arg name="speed" value="350"></constructor-arg> <constructor-arg name="price" value="300000"></constructor-arg> </bean>
3)这里是匹配参数位置和参数名赋值(推荐)
<bean id="car" class="com.llf.bean.Car"> <constructor-arg index="0" name="brand" value="长安"></constructor-arg> <constructor-arg index="2" name="price" value="40000"></constructor-arg> <constructor-arg index="1" name="speed" value="250"></constructor-arg> </bean>
4)这里是匹配参数位置和参数类型赋值(推荐)
<bean id="car" class="com.llf.bean.Car"> <constructor-arg index="0" type="java.lang.String" value="福特"></constructor-arg> <constructor-arg index="1" type="double" value="280"></constructor-arg> <constructor-arg index="2" type="double" value="140000"></constructor-arg> </bean>
5)这里是参数位置,参数类型,参数名称一同匹配(推荐)
<bean id="car6" class="com.llf.bean.Car"> <constructor-arg index="0" type="java.lang.String" name="brand" value="五菱宏光"></constructor-arg> <constructor-arg index="1" type="double" name="speed" value="300"></constructor-arg> <constructor-arg index="2" type="double" name="price" value="20000"></constructor-arg> </bean>
SpringIOC容器-xml配置bean-反射构造器-setter注入或构造器注入
原文:https://www.cnblogs.com/linglongfang/p/12718247.html