栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

白话@Autowired和@Resource区别和应用场景

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

白话@Autowired和@Resource区别和应用场景

白话@Autowired和@Resource区别和应用场景
    • @Autowired
    • @Resource
    • 什么时候用@Resource?


@Autowired

@Autowired是我们平时开发中用的比较多的自动装备bean的注解。

@Autowired由Spring提供,根据类的Type(类型)进行IOC容器中的寻找并且装配,如:

会去Ioc容器中找到Type为User的对象。如果有多个,只返回第一个。

@Resource

@Resource默认根据类的Name(名称)进行IOC容器中的寻找并且装配,如:

也可以指定根据类的Type(类型)进行IOC容器中的寻找并且装配,如:

如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。

如果既没指定name,也没指定type,则自动按照byName方式进行装配。如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。


什么时候用@Resource?

如果一个接口,有多个实现类如
一个IUser接口,分别有UserImpl01、UserImpl02。

那么在装配的时候我们就要指定我们需要装配哪一个实现类。这个@Autowired做不到,@Autowired只会找出默认找到的第一个。(不会报错,有些文章说的会报错)

这个时候就:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号