Springboot中@autowired和@resource注解的区别
@Autowired
@Autowired是Spring提供的,默认按照byType 注入,也就是按bean的类型来传入。如果需要指定名字,那么需要使@Qualifier(“这是bean的名字”)
@Resource
@Resource默认按 byName 自动注入,是J2EE提供的
@Resource有两个中重要的属性:name和type 。Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略
@Resource装配顺序
(1) 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常;
(2) 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常;
(3) 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常;
(4) 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
Springboot中@autowired和@resource注解的区别相关推荐
- @Autowired和@Resource注解的区别?
谈到Spring的注解,@Autowired和@resource这两个注解不得不提.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上 那@A ...
- 详述 @Service 和 @Resource 注解的区别
1 前言 在我们使用 Spring 框架的时候,注解是"不可或缺"的一部分,它帮我们脱离了配置繁琐的 XML 文件的工作,但有一点却需要我们自己去把握,那就是"3何&qu ...
- Spring中@Autowired和@Resource的区别
一.定义 @Autowired 对类成员变量.方法及构造函数进行标注,完成自动装配的工作. @Resource 在语义上被定义为通过其唯一的名称来标识特定的目标组件,其中声明的类型与匹配过程无关. 如 ...
- @AutoWired和@Resource注解异同分析
相同点: @AutoWired和@Resource注解都是从Spring容器中取出相应的bean对象,自动装配. 不同点: @AutoWired: 默认根据类型进行自动装配,依赖的对象必须存在,如果允 ...
- SpringBoot 中@Autowired 注入失效原因及解决方法
SpringBoot 中@Autowired 注入失效原因及解决方法 1.原因分析 1.1 包没有被扫描到通过@Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径 ...
- Spring中@Autowired注解、@Resource注解的区别
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...
- Spring中 @Autowired注解与@Resource注解的区别
相同点: @Resource的作用相当于@Autowired,均可标注在字段或属性的setter方法上. 不同点: (1)提供方:@Autowired是由org.springframework.bea ...
- @Autowired注解与@resource注解的区别(十分详细)
背景: 今天下班路上看到一个大货车,于是想到了装配,然后脑海里跳出了一个注解@Autowired(自动装配),于是又想到最近工作项目用的都是@Resource注解来进行装配.于是本着学什么东西都要一钻 ...
- Spring中@Autowired和@Resource区别
Spring可以基于注解方式配置并注入依赖.在Java代码中使用@Resource或者@Autowired注解方式注入. 1. @Resource: 1)默认按照名称装配注入,只有当找不到与名称nam ...
最新文章
- R绘制QQ图并解读QQ图
- lnmp之mysql原码编译
- Windows窗体编程(二)
- java 革命_JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)
- 进程间通信 (IPC) 方法总结(三)
- 1、如何进行字符串常量中的字符定位_Java String:字符串常量池,我相信会有很多朋友不很理解这部分...
- activex控件 新对象 ocx 初始化_Office已经支持64位的树控件Treeview了
- sun 些命令可以将服务器设置至ok模式_Python 高手之路:从零开始打造一个Web服务器...
- 如何测网络稳定性_功率计如何测准极限低功率小信号
- 第三方接口开发(短信验证码)
- 如何解决CDR绘图时出现的“毛边”瑕疵问题
- python 图像拼接_python实现图像拼接功能
- 删库跑路(错误0x80070091:目录不是空的)该如何解决???还是别解决了。。。
- .NET爬虫获取拼多多商品价格
- 利用3D效果制作立体导航栏
- 直角坐标积分化为极坐标积分_将直角坐标系下的二次积分转换成极坐标系下的二次积分...
- linux格式化光盘找不到介质,Linux挂载光盘的问题解决方案(mount: you must specify the filesystemnbs...
- CF-Predictor安装教程
- 别再说你不会,规则引擎Drools了
- Java网络编程以及简单的聊天程序