@Repository   存储层Bean
@Service      业务层Bean
@Controller   控制层Bean
@Autowired是根据类型进行自动装配的。在上面的例子中,如果当Spring上下文中存在不止一个UserDao类型
@Qualifier配合@Autowired来解决这些问题。
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按byName自动注入罢了。
@Resource有两个属性是比较重要的,分别是name和type,Spring将@Resource注解的name属性解析为bean的名字,而
type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用
byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。

@Autowired 与@Resource的区别:

1、 @Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。

2、 @Autowired默认按类型装配(Spring提供),默认情况下必须要求依赖对象必须存在,如果要允许null值,可以

设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier

注解进行使用.

3、@Resource(这个注解属于J2EE的),默认按照名称进行装配,名称可以通过name属性进行指定,如果没有指定

name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装

配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名

称进行装配。

Java代码 @Resource(name="baseDao")    private BaseDao baseDao;   推荐使用:@Resource注解在字段上,这样就不用写setter方法了,并且这个注解是属于J2EE的,减少了与spring的耦

合。这样代码看起就比较优雅。

转载于:https://www.cnblogs.com/IntelligentBrain/p/5111332.html

Spring注解解析相关推荐

  1. Spring注解解析及工作原理、自定义注解

    注解(Annotation) 提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析注解来使用这些 数据),用来将任何的信息 ...

  2. Spring注解解析 | P/C命名空间

  3. spring 注解试事物源码解析

    spring 注解试事物源码解析 基于xml注解式事务入口 public class TxNamespaceHandler extends NamespaceHandlerSupport {stati ...

  4. Spring注解配置工作原理源码解析

    一.背景知识 在[Spring实战]Spring容器初始化完成后执行初始化数据方法一文中说要分析其实现原理,于是就从源码中寻找答案,看源码容易跑偏,因此应当有个主线,或者带着问题.目标去看,这样才能最 ...

  5. return error怎么定义_这一次搞懂Spring自定义标签以及注解解析原理

    自定义标签解析原理 在上一篇分析默认标签解析时看到过这个类DefaultBeanDefinitionDocumentReader的方法parseBeanDefinitions:拉勾IT课小编为大家分解 ...

  6. Spring 注解面面通 之 @CrossOrigin 注册处理方法源码解析

      参照<Spring 注解面面通 之 @RequestMapping 注册处理方法源码解析>,其讲解了@RequestMapping注释的处理方法注册过程,而@CrossOrigin是基 ...

  7. Spring 注解面面通 之 @CrossOrigin 处理请求源码解析

      @CrossOrigin源码解析主要分为两个阶段:   ① @CrossOrigin注释的方法扫描注册.   ② 请求匹配@CrossOrigin注释的方法.   本文针对第②阶段从源码角度进行解 ...

  8. Dubbo学习记录(八) -- Spring整合Dubbo中@Reference注解解析原理

    Spring整合Dubbo中@Reference注解解析原理 @Reference: 可以用在属性或者方法, 意味着需要引用某个Dubbo服务, 那么Dubbo整合Spring后, 我很好奇怎么把这个 ...

  9. java中spring的注解_spring中的各种注解解析

    Spring中的注解大概可以分为两大类: 1)spring的bean容器相关的注解,或者说bean工厂相关的注解: 2)springmvc相关的注解. spring的bean容器相关的注解,先后有:@ ...

最新文章

  1. 消息队列-----生成者 Spring整合rabbitmq
  2. golang中struct字段
  3. 苹果mac电脑修改并快速linux网络配置
  4. python结巴_python结巴(jieba)分词
  5. idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...
  6. openstack添加热添加硬盘并识别
  7. clob和blob是不是可以进行模糊查询_你知道什么是 MySQL 的模糊查询?
  8. html纵向固定导航菜单代码,CSS3单页面垂直固定导航
  9. 【hdu2481】Toy,burnside引理+矩阵乘法
  10. android .a文件报毒,游戏开始文件,小A报毒!
  11. iOS自定义SearchBar样式
  12. atitit 面试问题表 侧重于项目和业务描述方面.v2 良好的标准:: 1.回答问题比较流畅,较少出现停顿现象,较少犹豫 2.回答有条理清晰 不杂乱 3.回答较为丰富内容 4.精神状态紧张
  13. 数据结构视频教程 -《数据结构(邓俊辉)》
  14. Scratch之自动走迷宫--左手法则
  15. RGB颜色对照表(数值+英文,Markdown可用)
  16. SSM 按模版导出 PDF
  17. 吞云吐雾,美国电子烟问题,内附FDA的一个隐情
  18. dns备用服务器信息,dns服务器地址(dns首选和备用填多少)
  19. 支付宝基金自选管理系统Springboot + Vue 实现
  20. PhotoShop一键修改4的倍数图片工具

热门文章

  1. Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束”
  2. linux生产服务器有关网络状态的优化措施
  3. 如何判断自己是否到了该辞职的时候
  4. 使用Regsvr32命令修复系统故障
  5. xbanner 动画特效设置android,Axure教程:如何实现爱彼迎App首页Banner的切换效果
  6. textview 背景变形_今日推荐:温州洞头-背景墙框石塑线条
  7. RocketMQ(八)——Rebalance机制介绍
  8. PostgreSQL11.7逻辑复制压测
  9. 5-9轻量型网络结构
  10. 1命名规则 sentinel_SpringCloud Gateway高阶之Sentinel限流、熔断