在使用注解开发的过程中,有个经常会见面的朋友——Autowried(自动装配),刚接触的朋友肯定不能理解自动装配这个词的含义。
简单解释一下,自动装配将通过已知的类型自动分配对象,与之前使用xml配置对象是一样的,只不过会更加简洁明了。
接着我们来认识一下,Autowried注解的使用方式以及功能。通过下面一个简单的例子来完成,所以需要创建一个简单的实体类——Men,其中需要注意,在类的定义上面,使用了Component注解,用于自动生成Men的对象。
@Component
public class Men{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Men1{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
创建完实体类后,为了更好地理解Autowried注解的使用场景,我将会在创建一个实体类,在里面定义一个Men的属性。
@Component
public class MenText {
private int id;
private Men men;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Men getMen() {
return men;
}
public void setMen(Men men) {
this.men = men;
}
@Override
public String toString() {
return "Men2{" +
"id=" + id +
", men=" + men +
'}';
}
}
这里请先思考,如何将Component生成的Men对象注入进来?
需要通过Autowried,具体请看下面图片
所以,将会自动匹配到刚刚定义的实体类对象men,但是需要注意,如果出现某个类不止一个对象,有两种方法解决,第一种,搭配Qualifer:
如果觉得麻烦,也可以使用Resource注解来获取指定名字的的对象,如:
最后效果是一样的。 最后总结一下,Resource与Qualifier都可以完成指定的某个类型的自动装配,但是当需要指定某个特定的对象时,则可以适用以上两种方式。
更多的内容可以关注小葡萄,如果这篇文章对你们有帮助,请帮我点赞,关注~