当前位置:网站首页>@Autowired 和 @Resource 的区别
@Autowired 和 @Resource 的区别
2022-07-06 09:17:00 【阿杆.】
@Autowired 和 @Resource 的区别
默认注入方式不同
@Autowired 默认的注入方式为byType(根据类型进行匹配),也就是说会优先根据接口类型去匹配并注入 Bean (接口的实现类),如果想要指定名称,可以通过@Qualifier配合使用。
@Autowired
private UserSafetyMapper userSafetyMapper;
// 或
@Autowired @Qualifier("userSafetyMapper")
private UserSafetyMapper userSafetyMapper;
@Resource 默认注入方式为 byName(根据命名进行匹配)。如果无法通过名称匹配到对应的实现类的话,注入方式会变为byType。
- 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常;
- 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常;
- 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常;
- 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。
// 1.默认注入方式
@Resource
private UserSafetyMapper userSafetyMapper;
// 2.指定注入方式
@Resource(name = "userSafetyMapper", type = UserSafetyMapper.class)
private UserSafetyMapper userSafetyMapper;
提供者不同
@Autowired 是spring提供的注解,@Resource 是JDK提供的注解
边栏推荐
- E-commerce data analysis -- salary prediction (linear regression)
- Types de variables JS et transformations de type communes
- RT-Thread 线程的时间片轮询调度
- Mysql database interview questions
- Esp8266 connects to bafayun (TCP maker cloud) through Arduino IED
- C语言函数之可变参数原理:va_start、va_arg及va_end
- open-mmlab labelImg mmdetection
- 冒泡排序【C语言】
- ES6 grammar summary -- Part 2 (advanced part es6~es11)
- History object
猜你喜欢
【ESP32学习-1】Arduino ESP32开发环境搭建
小天才电话手表 Z3工作原理
高通&MTK&麒麟 手机平台USB3.0方案对比
Navigator object (determine browser type)
C language callback function [C language]
Unit test - unittest framework
Redis 缓存更新策略,缓存穿透、雪崩、击穿问题
Characteristics, task status and startup of UCOS III
Understanding of AMBA, AHB, APB and Axi
Symbolic representation of functions in deep learning papers
随机推荐
VSCode基础配置
高通&MTK&麒麟 手机平台USB3.0方案对比
STM32 how to locate the code segment that causes hard fault
Esp8266 uses Arduino to connect Alibaba cloud Internet of things
map文件粗略分析
ESP learning problem record
MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
[esp32 learning-2] esp32 address mapping
Navigator object (determine browser type)
vim命令行笔记
Unit test - unittest framework
Page performance optimization of video scene
uCOS-III 的特点、任务状态、启动
Basic operations of databases and tables ----- view data tables
C语言,log打印文件名、函数名、行号、日期时间
open-mmlab labelImg mmdetection
Basic operations of databases and tables ----- creating data tables
Apprentissage automatique - - régression linéaire (sklearn)
level16
Programmers can make mistakes. Basic pointers and arrays of C language