- 来源不同。@Autowired是Spring框架提供的注解;@Resource是Java EE/J2EE提供的注解,属于JSR 250规范的一部分。
- 默认行为不同。@Autowired默认按类型(byType)进行自动注入;@Resource默认按名称(byName)进行自动注入。
- 支持的参数不同。@Autowired支持一个required参数,还可以结合@Qualifier注解来指定名称;@Resource支持更多的参数,包括name和type属性,用于指定资源名称和类型。
- 注入方式不同。@Autowired支持属性注入、构造方法注入和setter注入;@Resource支持属性注入和setter注入。
- 编译器错误提示不同。在使用集成开发环境(IDE)编写代码时,如果使用@Autowired注解可能会遇到不同的编译器错误提示,这取决于正在尝试注入的对象类型。
面试:@Autowired和@Resource区别
最新推荐文章于 2024-08-04 11:07:52 发布