构造器注入,依据参数而不是参数名类型,并且依据顺序调用
//Parameter constructor method1
public User(String u_username, Pet u_pet) {
System.out.println("method 1:String ,Pet");
this.u_username = u_username;
this.u_pet = u_pet;
}
//Parameter constructor method2
public User(Integer u_username, Pet u_pet) {
System.out.println("method 2:String ,Pet");
this.u_username = u_username.toString();
this.u_pet = u_pet;
}
创建两个这样的构造器,在applicationContext.xml配置文件中这样配置
<!-- 构造方法注入 -->
<bean name="user1" class="com.chengyang.bean.User">
<!-- name 是注入构造方法的名称,value是注入值类型,ref是注入引用类型 -->
<constructor-arg name="u_pet" ref="dog"/>
<constructor-arg name="u_username" value="121" type="java.lang.Integer" />
</bean>使用type指定u_useranme的类型这样就会调用method2
并且会根据在配置文件中的参数顺序调用User类中的构造器