Spring中注解@Autowired和@Resource的区别
@Autowried
1.默认方式 bytype 1.1配合@Qualifier(“id的名字”)使用 可通过byname 1.2内置参数required true:default / false:可为null
@Resource
1.默认方式 byname 1.1当name不存在时 自动改为bytype 1.2内置参数name 指定id
public class People {
private String name;
private Integer age;
@Resource(name = "dog2")
private Dog dog1;
@Autowired(required = false)
@Qualifier("cat2")
private Cat cat1;
public People() {
}
public People(String name, Integer age, Dog dog1, Cat cat1) {
this.name = name;
this.age = age;
this.dog1 = dog1;
this.cat1 = cat1;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Dog getDog1() {
return dog1;
}
public void setDog1(Dog dog) {
this.dog1 = dog;
}
public Cat getCat1() {
return cat1;
}
public void setCat1(Cat cat) {
this.cat1 = cat;
}
@Override
public String toString() {
return "People{" +
"name='" + name + '\'' +
", age=" + age +
", dog1=" + dog1 +
", cat1=" + cat1 +
'}';
}
}