如何使用Autowried,以及与Resource的区别

本文介绍了Spring中Autowired自动装配的概念,通过一个简单的实例展示了如何使用Autowired注解注入对象,并对比了Resource注解在指定对象注入时的应用。当存在多个相同类型对象时,可以通过Qualifier或Resource来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用注解开发的过程中,有个经常会见面的朋友——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都可以完成指定的某个类型的自动装配,但是当需要指定某个特定的对象时,则可以适用以上两种方式。

更多的内容可以关注小葡萄,如果这篇文章对你们有帮助,请帮我点赞,关注~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值