@Resource就是注入的意思,你需要注入哪个类,就注入那个类!比如要用到 Service和Dao类
Service类
- @Service("service")
- public class Service{
- @Resource
- private Dao dao;
- }
- public void print(){
- dao.print();
- }
Dao类
- @Repository("dao")
- public class Dao{
- public void print(){
- System.out.println("Dao执行了print方法");
- }
- }
然后执行service.print()方法结果就是Dao执行了print方法,就是这么简单。
@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方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
相关推荐
在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...
在Spring框架中,`@Resource`和`@Component`是两个重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection,简称DI)息息相关。理解这两个注解的使用和区别是掌握Spring框架核心概念的关键。 首先...
相比之下,@Resource 是 J2EE 提供的注解,需要导入 javax.annotation.Resource 包。它也可以在字段和 setter 方法上使用。但是,它默认按照名称自动装配,而不是按照类型。如果使用 name 属性,则使用 byName 的...
Spring注解详解 -- @Autowired、@Resource和@Service Spring框架中有三个非常重要的注解,即@Autowired、@Resource和@Service。这三个注解都是Spring框架中最常用的注解,它们都是用于解决Spring框架中的依赖注入...
Spring @Resource 注解解决 null 问题 Spring 框架中,@Resource 注解是一种常用的依赖注入方式,用于将对象注入到应用程序中。但是,在实际开发中,经常会遇到 @Resource 注解的对象为 null 的问题。本文将详细...
在Spring框架中,注解是实现依赖注入的重要方式,其中包括`@Autowired`和`@Resource`两个常用的注解。它们虽然都可以用来注入依赖,但在实际使用中存在一些区别。 首先,`@Autowired`注解是Spring框架特有的,主要...
在Spring MVC框架中,`@Resource`注解是用来管理依赖注入(Dependency Injection,简称DI)的一种方式。这个注解主要用于标注字段或者方法,以便Spring容器能够自动为它们提供实例化对象。本文将深入探讨`@Resource`...
在Spring框架中,`@Resource`注解是一个重要的依赖注入(DI)工具,它用于标记字段、方法或方法参数,以便Spring容器能够自动装配所需的bean。这篇文章将深入探讨`@Resource`注解的工作原理,以及它如何与Spring的IoC...
Spring实战之使用@Resource配置依赖操作示例 本文主要介绍了Spring实战之使用@Resource配置依赖操作的示例,通过实例形式分析了Spring使用@Resource配置依赖的具体步骤、实现及测试案例。 @Resource注解 @...
在Java Spring框架中,`@Resource`和`@Autowired`都是用于依赖注入(DI)的注解,但它们有着不同的用途和工作原理。本篇文章主要关注`@Resource`注解,探讨其使用方法和实现机制。 `@Resource`注解通常用于按名称注入...
在Spring框架中,`@Resource`注解是一个重要的组件,用于实现依赖注入(Dependency Injection,简称DI)。依赖注入是Spring的核心特性,它使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。本篇文章将...
除了@Service和@Resource,Spring还提供了一些其他常见的注解,包括@Controller(用于控制器,如Struts中的action)、@Repository(用于DAO层组件,数据访问组件)和@Component(通用注解,当组件类别不确定时使用)...
Spring框架是Java领域中实现DI的典型代表,提供了多种注解来支持这一机制,其中两个常用的注解是`@Resource`和`@Autowired`。虽然它们都可以用来实现依赖注入,但它们的用法和原理有所不同。 首先,`@Resource`注解...
在Spring框架中,`@Resource`注解是一个关键的组件,用于依赖注入(Dependency Injection,简称DI)。这个注解主要用于标记字段或方法,以便Spring容器能够自动为它们提供所需的对象。下面将详细介绍`@Resource`的...
主要介绍了Spring注解@Resource和@Autowired区别对比详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
使用Spring注解进行依赖注入,如`@Autowired`和`@Resource`,不仅简化了代码结构,减少了XML配置文件的冗余,还增强了代码的可读性和灵活性。通过合理利用这些注解及其辅助注解如`@Qualifier`,开发者可以更高效地...
在Spring框架中,`@Resource`注解是一个重要的组件注入工具,主要用于管理bean之间的依赖关系。这个注解来源于JSR 250规范,被Spring框架所支持并扩展。在这个"spring使用resource注解的demo"中,我们将深入探讨如何...
@Resource 是 JSR-250 标准注解,推荐使用它来替代 Spring 专有的 @Autowired。@Resource 默认按照 Bean 的名字(byName)进行注入,而 @Autowired 默认按照类型(byType)进行注入。@Resource 的 name 和 type 属性可以...
注解包含: 拦截器 , 过滤器 , 序列化 , @After , @AfterReturning , @AfterThrowing , @annotation , @Around , @Aspect , @Autowired , @Bean , @Before , @Component , @ComponentScan , @ComponentScans , @...
@Autowired 是 Spring 定义的注解,@Resource 是 JSR 250 规范里面定义的注解,而 Spring 对 JSR 250 规范提供了支持。@Autowired 如果需要支持 name 匹配,就需要配合 @Primary 或者 @Qualifier 来实现。 在实际...