码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
Autowired和Resource的关系
相同点
对于下面的代码来说,如果是Spring容器的话,两个注解的功能基本是等价的,他们都可以将bean注入到对应的field中
不同点
但是请注意,这里说的是基本相同,说明还是有一些不同点的:
byName和byType匹配顺序不同
1. Autowired在获取bean的时候,先是byType的方式,再是byName的方式
意思就是先在Spring容器中找以Bean为类型的Bean实例,如果找不到或者找到多个bean,则会通过fieldName来找
举个例子:
当多个类型匹配时,可以使用@Qualifier 注解来指定具体的bean名称
2. Resource在获取bean的时候,和Autowired恰好相反,先是byName方式,然后再是byType方式
当然,我们也可以通过注解中的参数显示指定通过哪种方式
同样举个例子:
它更加灵活,既可以根据类型进行注入,也可以根据名称进行注入;通过name属性可以显式指定需要注入的bean的名称
总的来说,@Autowired 注解更加简洁易用,适用于大多数情况下的依赖注入;而@Resource 注解更加灵活,可以根据不同的需求进行注入
作用域不同
1. Autowired可以作用在构造器,字段,setter方法上
2. Resource只可以使用在field,setter方法上
支持方不同
1. Autowired是Spring提供的自动注入注解,只有Spring容器会支持,如果做容器迁移,是需要修改代码的
2. Resource是JDK官方提供的自动注入注解(JSR-250);它等于说是一个标准或者约定,所有的IOC容器都会支持这个注解;假如系统容器从Spring迁移到其他IOC容器中,是不需要修改代码的
相关阅读:
ADS微带单枝短截线匹配电路的仿真
Bash脚本debug攻略
mysql之rsync远程同步
动手学深度学习(Pytorch版)代码实践 -深度学习基础-06Softmax回归简洁版
HTML期末学生大作业-节日网页作业html+css+javascript
【web前端期末大作业】HTML+CSS宠物狗静态网页设计
Spring系列文章3:基于注解方式依赖注入
【学习记录】实例分割的发展与区别
MyBtais的SQL映射文件(元素,查询,映射,动态SQL)
[P7885][Android13] 解决5G信号良好状态栏信号只有两格的问题
原文地址:https://blog.csdn.net/weixin_59624686/article/details/133528010
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号