Spring中constructor-arg 和 property 属性
1、constructor-arg 和 property是两种不同的依赖注入的方式:
?
constructor-arg:通过构造函数注入。
?property:通过setxx方法注入。?
?
2、举例:
(1)、constructor-arg
?
public class Man {
private String name ;private int age;private List hobby;private Map friends;private Set set;private boolean ifMarried;public Man() {} public Man(String name, int age,List hobby,Map friends,Set set,boolean ifMarried){ this.name = name; this.age = age; this.hobby = hobby; this.friends = friends; this.set = set; this.ifMarried = ifMarried; } public String getInfo(){ String info = "姓名:"+this.name+"\n年龄:"+this.age+"\n爱好:"+this.hobby+"\n朋友:"+this.friends+"\n婚否:"+this.ifMarried+"\n其他的:"+this.set; return info; }} ?
?
(2)、property:
?
?
public class Doctor {private String name;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public void init(){System.out.println("88888888888");}public void init(String name,String sex){this.name = name;this.sex = sex;}}?
?
XML配置文件:
?
?
<bean id="appkindImgService" ref="appkindImgDao" /><property name="appkindImgDao" ref="appkindImgDao" /></bean>