@Resources按名字,是JDK的, 默认按名称装配 假如找不到后会回退到按类型装配
@Autowired按类型,是Spring的 ,按类型装配依赖对象
作用都是引用bean
@Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下:
@Autowired @Qualifier("personDaoBean")
private PersonDao personDao;
@Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。
@Resource(name=“personDaoBean”)
private PersonDao personDao;//用于字段上
注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖对象时, @Resource注解会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了
按类型装配或按名字(id)装配的过程 http://www.cnblogs.com/leiOOlei/p/3548290.html
相关推荐
本文将深入探讨`@Resource`注解的用法、原理以及与`@Autowired`的区别,帮助开发者更好地理解和应用这一特性。 ### `@Resource`注解概述 `@Resource`是JSR-250规范的一部分,它主要用来标记JavaBean中的属性,由...
- `@Resource`: 与`@Autowired`类似,但默认按名称匹配,主要针对JSR-250规范。 2. **配置类与组件扫描注解** - `@Configuration`: 表明一个类作为配置源,替代传统的XML配置。 - `@Component`: 声明一个类为...
- **Spring WEB**:支持Web开发。 - **Spring Data**:数据访问和集成。 3. **Spring 构建对象** 使用BeanFactory接口,借助Java反射技术创建Bean对象。 4. **IOC 设计的理解** IOC(控制反转)是一种设计模式...
@Autowired与@Resource的区别: - @Autowired是Spring提供的注解,它通过类型匹配找到对应的Bean并自动注入,如果找到多个类型匹配的Bean,则会根据名称进行匹配。 - @Resource是Java EE提供的注解,它默认通过名称...
在火狐中显示可能会有问题,大家都是... @RequestMapping , @RequestParam , @Resource , @ResponseBody , @RestController , @Scope , @Service , @Validated , @Value , @WebFilter , @WebInitParam , @WebListener
与`@Autowired`不同,`@Resource`默认按照bean的名称进行匹配,而`@Autowired`则是按照类型匹配。在SpringMVCmybatisFrm项目中,`@Resource`被用来注入服务层、数据访问层的bean,实现依赖注入,降低组件间的耦合。 ...
- @Autowired、@Qualifier、@Resource注解的使用和区别。 - 配置Bean的作用域(Singleton、Prototype、Request、Session等)及其应用场景。 3. **第四章:AOP(面向切面编程)** - AOP的基本概念:切面、通知、...
- **@Resource**:除了`@Autowired`,Spring还提供了`@Resource`注解,它主要遵循JSR-250规范。两者的主要区别在于`@Autowired`默认按照类型匹配,而`@Resource`默认按照名称匹配。 ### 6. 配置类与`@Configuration...
在本文中,我们将详细地解释 SpringMVC 中常用的注解标签,包括@Controller、@RequestMapping、@Resource 和@Autowired 等。 1. @Controller @Controller 是 SpringMVC 中最基本的注解之一,该注解用于标记一个类...
Spring的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect Oriented Programming, AOP)以及一系列针对Web应用的集成解决方案。 #### 二、Spring IoC容器中的Bean管理 - **`@Autowired` ...
3. **@Resource 和 @Autowired** 这两个注解在Spring中用于自动装配bean。`@Resource`来自Java标准库,而`@Autowired`是Spring特有的。两者都能用于字段和setter方法上,且字段上有它们之一时,可省去setter方法。...
Spring是一个全面的Java应用程序开发框架,它提供了广泛的特性,包括核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。核心容器是Spring框架的基础,包括BeanFactory和ApplicationContext...
在IDEA 2020中创建Spring项目并引入Spring Web依赖,我们可以创建几个简单的类来演示@Autowired的工作原理。例如,我们有三个类:Person、Cat和Dog。Person类可能需要依赖Cat和Dog,传统的做法是通过setter方法或者...
4. **@Resource 和 @Autowired** 这两个注解用于依赖注入,帮助 Spring 自动管理和装配 Bean。它们的共同点是都可以注解在字段和 setter 方法上,且在字段上使用时可省略 setter。 - `@Resource`: 来自 javax....
- `@Resource`:与`@Autowired`类似,但基于J2EE标准,按名称匹配。 - `@PathVariable`:获取URL模板变量。 - `@CookieValue`:获取Cookie值。 - `@RequestParam`:将请求参数绑定到方法参数。 - `@...
- `@Resource`:等同于`@Autowired`+`@Qualifier`的功能组合。 - `@Value`:用于注入基本类型的值。 - **全局配置** - `@Configuration`:标记类为配置类。 - `@ComponentScan`:指定Spring扫描的包。 - `@...
通过声明特定的SpringBoot起步依赖(Starter),如`spring-boot-starter-web`或`spring-boot-starter-data-jpa`,开发者可以方便地引入所需的功能模块及其依赖,避免了手动管理版本冲突的问题。 **监控 - Actuator*...
- **@Resource**:用于注入由Java EE容器管理的对象,类似于@Autowired,但更广泛应用于Java EE环境中。 #### 测试注解(Testing Annotations) Spring提供了专门用于单元测试和集成测试的注解,简化了测试过程。 -...