======== 构造注入 ======== 1 什么是构造注入? 注入:通过Spring配置文件为类对象的成员变量赋值。 Set注入:通过调用类对象的Set方法,为其成员变量赋值。 构造注入:通过类对象的构造方法,为其成员变量赋值。 Java基础语法支持通过构造方法为成员变量赋值: public class Customer { _\ private String name; | / private int age; _____________ | v | | public Customer(String name, int age) { | |______ this.name = name; /___| | this.age = age; \ _____| } | } | | Customer customer = new Customer("张飞", 25); Spring通过其内部的工厂调用构造方法,将从配置文件中读取的值传给构造方法,为成员变量赋值。 2 开发步骤 第一步:为类提供有参构造方法 /src/main/java/cn/tedu/injection/Customer.java: public class Customer implements Serializable { private String name; private int age; public Customer(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Customer{" + "name='" + name + '\'' + ", age=" + age + '}'; } } 第二步:在配置文件中写清楚把什么值赋给哪个对象的哪个成员变量 /src/main/resources/applicationContext.xml: | 张飞 | | 一个constructor-arg对应一个构造参数 | 顺序与构造方法参数表的顺序严格一致 25 | v 例程:Injection