`

@Resource注解 和@Autowired

 
阅读更多

@Autowired与@Resource都可以用来装配bean.

默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下: 

Java代码  收藏代码
  1. @Autowired() @Qualifier("baseDao")     
  2. private BaseDao baseDao;    

 3、@Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通过name属性进行指定, 
如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装配。 当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。

Java代码  收藏代码
  1. @Resource(name="baseDao")     
  2. private BaseDao baseDao;    

 
我喜欢用 @Resource注解在字段上,且这个注解是属于J2EE的,减少了与spring的耦合。最重要的这样代码看起就比较优雅。

分享到:
评论

相关推荐

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

    在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...

    springmvc @Resource 注解方式问题

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

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

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

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

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

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

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

    用@Resource注解完成属性装配

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

    Spring注解@Resource和@Autowired.doc

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

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

    在Java Spring框架中,`@Resource`和`@Autowired`都是用于依赖注入(DI)的注解,但它们有着不同的用途和工作原理。本篇文章主要关注`@Resource`注解,探讨其使用方法和实现机制。 `@Resource`注解通常用于按名称注入...

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

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

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

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

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

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

    Spring使用@Autowired注解自动装配

    在Spring框架中,`@Autowired`注解是一个关键特性,用于简化依赖注入的过程。依赖注入是一种设计模式,它允许我们解耦代码,提高模块的可测试性和可维护性。在这个主题中,我们将深入探讨`@Autowired`的工作原理、...

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

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

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

    Spring @Resource 注解解决 null 问题 Spring 框架中,@Resource 注解是一种常用的依赖注入方式,用于将对象注入到应用程序中。但是,在实际开发中,经常会遇到 @Resource 注解的对象为 null 的问题。本文将详细...

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

    在Spring框架中,`@Resource`和`@Component`是两个重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection,简称DI)息息相关。理解这两个注解的使用和区别是掌握Spring框架核心概念的关键。 首先...

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

    "通过@Resource注解实现属性装配代码详解" 通过@Resource注解实现属性装配代码详解是 Spring 框架中的一种依赖注入方式。依赖注入是指在应用程序中,某个组件需要使用其他组件或对象时,通过容器来提供这些对象的...

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

    接下来是@Resource注解。它主要用于注入其他已经存在的bean到当前类的属性中。比如: ```java @Service public class YeepayService { @Resource(name="yeePay") private YeePay yeePay; public static void ...

    @resource所需包.rar

    1. **@Resource注解的使用** `@Resource`注解由Java标准提供,最初是用于J2EE环境中的,但在Spring框架中被广泛使用。它的主要目的是通过名称来注入依赖,通常用于注入单例bean。例如: ```java public class ...

    学习Spring笔记_Annotation(注解)_Autowired_Qualifier

    除了`@Autowired`,Spring框架还提供了其他的依赖注入注解,如`@Resource`(主要用于JSR-250规范,基于名称的注入)和`@Inject`(JSR-330规范,基于类型和名称的注入)。这些注解在不同的场景下有不同的优势,开发者...

Global site tag (gtag.js) - Google Analytics