总览 @Resource 和 @Autowired 都是做bean的注入时使用
@Resource 与 @Autowired 作用相当,只不过@Autowired按照byType自动注入。
@Resource 并不是Spring的注解,需要导入,但是Spring支持该注解的注入。
共同点
两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。
不同点
@Autowired 是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false。
public class TestServiceImpl {
@Autowired
private User user;
}
如果我们想使用按照名称(byName)来装配,可以结合@Qualifier注解一起使用。
public class TestServiceImpl {
@Autowired
@Qualifier("user")
private User user;
}
@Resource
@Resource 默认按名称装配,如果不到与名称匹配的bean,会按类型装配。
未指定name属性, 默认使用成员属性的变量名,一般不用写name属性.
public class TestServiceImpl {
@Resource(name="user")
private User user;
}
参考博文: 【Spring|Spring 中的 @Resource 和 @Autowired】Spring注解@Resource和@Autowired区别对比
推荐阅读
- =======j2ee|spring用注解实现注入的@resource,@autowired,@inject区别
- jar|springboot项目打成jar包和war包,并部署(快速打包部署)
- 数据库|效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...
- java人生|35K 入职华为Java开发那天,我哭了(这 5 个月做的一切都值了)
- Java毕业设计项目实战篇|Java项目:在线嘿嘿网盘系统设计和实现(java+Springboot+ssm+mysql+maven)
- 微服务|微服务系列:服务发现与注册-----Eureka(面试突击!你想了解的Eureka都在这里.持续更新中......)
- java|ApplicationListener和SpringApplicationRunListener的联系
- Spring|SpringSecurity--自定义登录页面、注销登录配置