@Autowired与@Resource的区别
来源:互联网 发布:java获取客户端端口号 编辑:程序博客网 时间:2024/06/01 20:27
在java代码中使用@Autowired或@Resource注解方式进行装配,这两个注解的区别是:@Autowired 默认按类型装配,@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
@Autowired
private PersonDao personDao;//用于字段上
@Autowired
public void setOrderDao(OrderDao orderDao) {//用于属性的setter方法上
this.orderDao = orderDao;
}
@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属性,就只能按名称装配了。
@Autowired
private PersonDao personDao;//用于字段上
@Autowired
public void setOrderDao(OrderDao orderDao) {//用于属性的setter方法上
this.orderDao = orderDao;
}
@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属性,就只能按名称装配了。
阅读全文
0 0
- @Autowired与@Resource的区别
- @Autowired 与@Resource的区别
- @Resource与@Autowired的区别
- @Autowired 与 @Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- Autowired与Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired与@Resource的区别
- @Autowired 与@Resource的区别:
- MAC 10.12系统环境下无法打开360加固助手的解决
- TouchEvent
- 回溯算法与分支限界法
- Python的random模块
- session 原理示意
- @Autowired与@Resource的区别
- Java基础学习总结——动态代理技术(Proxy)
- 用C语言编写程序打印一朵玫瑰花
- Redis Sentinel服务配置说明
- Restful设计
- Generator 函数
- jetbrains 2017.2系列 输入法问题
- Poj3221 dfs序
- qt插件安装错误