<bean id = "car2" class="com.zx.spring.Car" >
<constructor-arg value="Volvo" type="java.lang.String"></constructor-arg>
<constructor-arg value="Beijing" type="java.lang.String"></constructor-arg>
<constructor-arg value="123" type="int"></constructor-arg>
</bean>
代码块一:applicationContext配置,由于构造器其一为(String,String,double),另一个为(String,String,int),因此在构造器中指明参数类型。指定反射的构造器为public Car(String brand, String corp, int maxSpeed) 。
package com.zx.spring;
public class Car {
private String brand;
private String corp;
private double price;
private int maxSpeed;
public Car(String brand, String corp, double price) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
}
public Car(String brand, String corp, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.maxSpeed = maxSpeed;
}
@Override
public String toString() {
return "Car [brand=" + brand + ", corp=" + corp + ", price=" + price + ", maxSpeed=" + maxSpeed + "]";
}
}
代码块二:Bean
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
Car car1 = (Car)ac.getBean("car2");
System.out.println(car1);
}
代码块三:主函数。可以通过:
Car car1 = (Car)ac.getBean("car2");
来获取对象。也可以通过
Car car1 = (Car)ac.getBean(类名.class);
此时应该注意,在配置文件中,不可设置同一个class的不同id,否则无法判断映射哪个文件。