@Resource与@Autowired区别
时间: 2024-01-30 12:35:20 浏览: 69
1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf
@Resource和@Autowired都是用于依赖注入(Dependency Injection)的注解,但是它们有以下区别:
1. 来源不同:@Resource是JSR-250规范中的注解,而@Autowired是Spring中的注解。
2. 自动装配方式不同:@Resource默认按照名称装配,如果找不到对应的名称,则按照类型装配;而@Autowired默认按照类型装配,如果找不到对应的类型,则会报错。
3. 注入的对象不同:@Resource注入的是一个实例化的Bean对象,而@Autowired注入的是一个Bean的Class类型。
4. 支持注入的范围不同:@Resource可以注入任何对象,包括基本类型和String,而@Autowired只能注入Spring容器中的对象。
总的来说,@Resource注解更加灵活,支持注入任何对象,但是@Autowired更加简洁,使用更加方便。在实际开发中,可以根据具体需求选择使用哪种注解。
阅读全文