`
234390216
  • 浏览: 10233277 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462647
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1775539
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398386
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395024
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:679993
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:530901
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1183987
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:467955
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151403
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68158
社区版块
存档分类
最新评论

@Resource和@Autowired的区别

阅读更多

  @Resource和@Autowire的区别
在java代码中可以使用@Autowire或者@Resource注解方式进行装配,这两个注解的区别是:
@Autowire默认按照类型装配,默认情况下它要求依赖对象必须存在如果允许为null,可以设置它required属性为false,如果我们想使用按照名称装配,可以结合@Qualifier注解一起使用;


@Resource默认按照名称装配,当找不到与名称匹配的bean才会按照类型装配,可以通过name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象.

注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖的对象时候,会回退到按照类型装配,但一旦指定了name属性,就只能按照名称装配了.

1
3
分享到:
评论

相关推荐

    (转)Spring中@Autowired注解和@Resource注解的区别

    在阅读《Spring中Autowired和Resource的区别.docx》文档时,可以深入探讨这两个注解的内部实现原理,以及在实际项目中的最佳实践。通过源码分析,我们可以了解到Spring如何解析这些注解并执行依赖注入的过程,这有助...

    【Java面试】@Resource 和 @Autowired 的区别.doc

    @Resource 和 @Autowired 的区别 在 Spring 框架中,@Resource 和 @Autowired 是两种常用的依赖注入方式,但是它们之间存在着一些关键的区别。 首先,让我们来了解 @Autowired 注解。@Autowired 是 Spring 框架...

    Spring注解@Resource和@Autowired.doc

    Spring 注解@Resource 和@Autowired Spring 框架中提供了两个重要的注解,分别是@Resource 和@Autowired,它们都是用于 bean 的自动装配的。了解这两个注解的区别和使用场景是非常重要的。 首先,@Autowired 是 ...

    spring框架的@Resource和@Component 程序和文档

    `@Autowired`和`@Resource`虽然都可以实现依赖注入,但它们的使用场景有所不同。`@Autowired`更侧重于类型匹配,适用于大多数情况,而`@Resource`则更适用于你知道确切的Bean名称,并希望基于名称注入依赖的情况。 ...

    Spring注解@Resource和@Autowired区别对比详解

    主要介绍了Spring注解@Resource和@Autowired区别对比详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

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

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

    Spring框架是Java领域中实现DI的典型代表,提供了多种注解来支持这一机制,其中两个常用的注解是`@Resource`和`@Autowired`。虽然它们都可以用来实现依赖注入,但它们的用法和原理有所不同。 首先,`@Resource`注解...

    Spring框架中 @Autowired 和 @Resource 注解的区别

    在Spring框架中,注解是实现依赖注入的重要方式,其中包括`@Autowired`和`@Resource`两个常用的注解。它们虽然都可以用来注入依赖,但在实际使用中存在一些区别。 首先,`@Autowired`注解是Spring框架特有的,主要...

    20 面试官,请不要再问我@Resource和@Autowire注解的区别了慕课专栏(1)1

    在面试中,理解`@Resource`和`@Autowired`的区别,以及它们的实现原理,也能展示出你对Spring框架的深入理解。 综上所述,`@Resource`注解在Spring中主要通过`CommonAnnotationBeanPostProcessor`进行处理,用于按...

    Spring In Action 使用@Autowired 和@ Resource 自动装配Bean

    在Spring框架中,`@Autowired`和`@Resource`都是用于自动装配Bean的重要注解,它们简化了依赖注入的过程,使得代码更加简洁、易于维护。本文将深入探讨这两个注解的使用、区别以及如何在实际开发中应用它们。 首先...

    springmvc @Resource 注解方式问题

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

    详解Spring注解--@Autowired、@Resource和@Service

    Spring注解详解 -- @Autowired、@Resource和@Service Spring框架中有三个非常重要的注解,即@Autowired、@Resource和@Service。这三个注解都是Spring框架中最常用的注解,它们都是用于解决Spring框架中的依赖注入...

    编码剖析@Resource注解的实现原理

    2. **注解处理**:Spring容器中的`AutowiredAnnotationBeanPostProcessor`和`CommonAnnotationBeanPostProcessor`两个后处理器负责处理`@Autowired`和`@Resource`。`CommonAnnotationBeanPostProcessor`尤其关注`@...

    @resource所需包.rar

    3. **与@Autowired的区别** - **@Autowired**注解是Spring提供的,主要用于基于类型的依赖注入。它会根据目标类型在容器中寻找匹配的bean,如果没有指定名称,会注入类型最匹配的bean。 - **@Resource**则更注重于...

    用@Resource注解完成属性装配

    如果同时存在`@Autowired`和`@Resource`,Spring会优先考虑`@Resource`,因为它提供了更明确的装配依据(bean的名字)。 ### 配置和选择 在某些复杂场景下,可能有多个同类型的bean,这时可以使用`@Qualifier`注解...

    详解Spring关于@Resource注入为null解决办法

    Spring @Resource 注解解决 null 问题 Spring 框架中,@Resource 注解是一种常用的依赖注入方式,用于将对象注入到应用程序中。但是,在实际开发中,经常会遇到 @...希望这些知识点能够对大家的学习和工作产生帮助。

    Spring 中 @Service 和 @Resource 注解的区别

    关于@Autowired和@Resource的详细区别,可以通过相关的学习资源进行深入学习。 总的来说,@Service和@Resource在Spring框架中分别扮演了不同的角色:@Service用于标记业务层组件,声明bean;而@Resource则负责注入...

    通过@Resource注解实现属性装配代码详解

    与 @Autowired 注解相比,@Resource 注解的主要区别是,默认情况下 @Resource 注解是按名称装配的,而 @Autowired 注解是按类型装配的。如果找不到与名称匹配的 bean,@Resource 注解才会按类型装配。例如: ```java...

    springMVC-annotation注解介绍

    3、@Resource和@Autowired @Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写...

Global site tag (gtag.js) - Google Analytics