`
反求诸己
  • 浏览: 543219 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

@Autowired 和 @Resource 的区别和联系【总结】

 
阅读更多

@Autowired  和 @Resource 的区别和联系【总结】

 

@Autowired 注解是按类型 装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false[e.g:  @Autowired(required=false) ]。如果我们想使用按名称装配 ,可以结合@Qualifier 注解一起使用。如下: 
  @Autowired @Qualifier("personDaoBean") 
  private PersonDao personDao; 

 

 

 

@Resource注解 和@Autowired一样,也可以标注在字段或属性的setter 方法上,但它默认按名称装配 。名称可以通过@Resource 的name属性指定,如果没有指定name属性,当注解标注在字段 上,即默认取字段的名称 作为bean名称寻找依赖对象,当注解标注在属性的setter 方法上,即默认取属性名 作为bean名称寻找依赖对象。 
  @Resource(name=“personDaoBean”) 
  private PersonDao personDao;//用于字段上 

可以依据名字 注入
也可以依据类型 注入
默认按 byName自动注入

分享到:
评论

相关推荐

    详解Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

    Spring 依赖注入:@Autowired,@Resource 和@Inject 区别与实现原理 Spring 依赖注入是指在应用程序中将对象之间的依赖关系自动装配的过程。Spring 框架提供了多种依赖注入方式,包括 @Autowired、@Resource 和@...

    Spring使用@Autowired注解自动装配

    在Spring框架中,`@Autowired`注解...正确理解和使用`@Autowired`,可以帮助开发者构建更加灵活和健壮的应用程序。通过合理的bean设计和适当的注解使用,我们可以充分利用Spring的强大功能,同时保持代码的简洁和高效。

    1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf

    总结来说,`@Resource`和`@Autowired`虽然都是为了实现依赖注入,但它们的使用场景和策略有所不同。`@Resource`更注重于名称匹配,适合于Java EE环境下的资源注入;而`@Autowired`则适用于Spring环境,通过类型匹配...

    你所不知道的Spring的@Autowired实现细节分析

    总结,`@Autowired`的实现涉及到Spring Bean生命周期中的多个阶段,包括BeanPostProcessor的回调、构造函数的选择、依赖匹配和异常处理等。理解这些细节对于优化Spring应用的依赖管理以及排查相关问题至关重要。通过...

    1+X考试真题-Java-中级-2021-11(1).docx

    本节中我们讨论了 MyBatis 和 Spring 中的一些重要知识点,包括 MyBatis 的特点、注解风格的 MyBatis 中获取数据库厂商自动生成的主键值、Spring 中的 @Autowired 和 @Resource 注解等。通过对这些知识点的掌握,...

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    - @Autowired与@Resource:虽然两者都可以用来自动装配,但@Autowired默认按类型匹配,而@Resource默认按名字匹配。 总结,Spring的@Autowired自动装配机制极大地简化了bean之间的依赖管理,提高了代码的可维护性。...

    自动装配 AutoWire

    虽然@Autowired和@Resource都可以实现依赖注入,但它们有一些区别: - **@Autowired** 默认按类型匹配,可以与JSR-250规范结合使用,支持注解的属性(如required,默认为true)。 - **@Resource** 按名称匹配,它是...

    IntellijIDEA中MybatisMapper自动注入警告的6种解决方案.docx

    可以使用 @Resource 替换 @Autowired 注解,解决警告。但是,如果项目已经大量使用 @Autowired,改成 @Resource 也有点蛋疼。 方案 3:在 Mapper 接口上加上@Repository 注解 在 Mapper 接口上加上 @Repository ...

    spring3注解详细

    本文将详细介绍几个关键的注解,包括 @Autowired、@Qualifier、@Resource 和 @PostConstruct,以及它们在实际开发中的应用。 ## 1. @Autowired 注解 @Autowired 是 Spring 提供的一种自动装配机制,它可以根据类型...

    Spring3.0注解注入详解[总结].pdf

    本文将详细阐述Spring 3.0中的注解注入,包括@Autowired、@Qualifier、@Resource和@PostConstruct这四个关键注解。 1. **@Autowired注解**:@Autowired用于自动装配Bean的依赖,它可以在字段、方法和构造器参数上...

    4Spring自动装配——annotation resource方式

    理解并熟练运用`@Autowired`和`@Resource`可以极大地提升Spring应用的可维护性和灵活性。在编写代码时,要根据需求选择合适的注解,并注意避免注入冲突。通过阅读和理解源码,我们可以更好地掌握Spring自动装配的...

    springmvc @Resource 注解方式问题

    本文将深入探讨`@Resource`注解的用法、原理以及与`@Autowired`的区别,帮助开发者更好地理解和应用这一特性。 ### `@Resource`注解概述 `@Resource`是JSR-250规范的一部分,它主要用来标记JavaBean中的属性,由...

    spring注解说明文档

    然而,由于`@Autowired`具有更广泛的功能和灵活性,一般推荐优先使用`@Autowired`。 总结一下,Spring注解注入主要涉及以下几点: 1. `@Autowired`注解用于自动装配Bean的依赖,基于类型匹配(或名称匹配),简化...

    spring注解注入示例详解.pdf

    下面将详细介绍这些注解的使用方法和区别。 1. @Autowired注解 @Autowired是Spring提供的注解,它可以实现自动装配,开发者可以通过此注解自动注入Bean的依赖。Autowired注解可以用在成员变量、setter方法以及构造...

    Spring应用注解完成属性装配

    `@Autowired`、`@Qualifier`、`@Value`、`@Configuration`、`@Component`和`@Resource`等注解协同工作,构建了一个灵活且强大的依赖注入系统。通过理解并熟练运用这些注解,开发者可以更高效地开发和管理Spring应用...

    Java-Spring各种依赖注入注解的区别.doc

    总结来说,@Autowired、@Inject和@Resource都是Spring进行依赖注入的手段,它们的主要区别在于默认匹配策略、异常处理和是否支持字段名匹配。选择哪种注解取决于具体需求,如是否需要灵活性、是否要求必须存在依赖...

    spring使用resource注解的demo

    总结起来,这个"spring使用resource注解的demo"旨在演示如何利用`@Resource`注解进行bean的自动装配,以及与`@Autowired`的区别。通过分析`test008`中的文件,我们可以学习如何在实际项目中应用这些概念,以实现更...

    Spring依赖注入——java项目中使用spring注解方式进行注入.rar

    3. `@Resource` 注解:与`@Autowired`类似,也是用来进行依赖注入,但`@Resource`默认按名称进行匹配,而非类型。如果未指定名称,它会尝试找到字段或方法的名称作为bean的名称进行查找。 4. `@Inject` 注解:来自...

    spring注解实现注入.zip

    通过使用`@Autowired`、`@Qualifier`、`@Resource`等注解,我们可以轻松地实现bean之间的依赖注入,提高代码的可读性和可维护性。同时,结合组件扫描、配置类以及各种作用域和环境注解,Spring为开发者提供了丰富的...

Global site tag (gtag.js) - Google Analytics