博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring中@Autowired注解、@Resource注解的区别
阅读量:6520 次
发布时间:2019-06-24

本文共 670 字,大约阅读时间需要 2 分钟。

hot3.png

Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。
  @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@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方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

转载于:https://my.oschina.net/u/1273559/blog/330763

你可能感兴趣的文章
【JSP开发】有关session的一些重要的知识点
查看>>
生产库中遇到mysql的子查询
查看>>
redis debug命令详解
查看>>
阿里P6Java工程师的学习经历自述,希望新人少走弯路
查看>>
【工具推荐】ADB IDEA
查看>>
idea--Project Structure
查看>>
关闭 IOS8 最近使用 最近联系人
查看>>
Running Trinity in multiple steps
查看>>
Git学习系列(六)解决分支冲突及分支管理策略
查看>>
数通手稿留档——Multicast
查看>>
海量运维、运营规划之道
查看>>
C#通用权限管理-程序安全检查,这些你一定要考虑到位
查看>>
Android之shape属性简介和使用
查看>>
2821: 作诗(Poetize)
查看>>
3144: [Hnoi2013]切糕
查看>>
异构数据库
查看>>
iOS.ObjC.Basic-Knowledge
查看>>
iOS.ReactNative-3-about-viewmanager-uimanager-and-bridgemodule
查看>>
透视校正插值
查看>>
【转载】WinCE6.0 Camera驱动源码分析(二)
查看>>