构造函数的依赖注入方法:
- 单个类作为参数构造函数的注入
```xml
- 多个类作为参数构造函数的注入xml
- 多参构造函数的注入xml
案例代码:<br />Person.javajava
package com.baklib.custom;
public class Person {
private String name;
private int age;
public Person() {}
public Person(String name, int age) {
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Car.javajava
package com.baklib.custom;
public class Car {
private String name;
private double price;
public Car() {}
public Car(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
Action.javajava
package com.baklib.custom;
public class Action {
private Person person;
private Car car;
public Action(Person person, Car car) {
this.person = person;
this.car = car;
}
public void buyCar() {
System.out.println(person.getName()+”今年”+person.getAge()+”岁,花了”
+car.getPrice()+”元买了”+car.getName());
}
}
MainApp.javajava
package com.baklib.custom;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(“Beans.xml”);
Action action = (Action) context.getBean(“action”);
action.buyCar();
}
}
配置文件 Beans.xmlxml
<?xml version=”1.0” encoding=”UTF-8”?>
<bean id="car" class="com.baklib.custom.Car"><constructor-arg index="0" value="小轿车" /><constructor-arg index="1" value="100000" /></bean><bean id="person" class="com.baklib.custom.Person"><constructor-arg type="java.lang.String" value="张三" /><constructor-arg type="int" value="20" /></bean>
编写完以上代码,就可以运行这个程序,运行结束后,可以在控制台看到下面的信息
张三今年20岁,花了100000.0元买了小轿车 ```
