目录
面试题: @Resource 和 @Autowired的区别
概述
在 Spring 中实现依赖注入的常见方式有以下 3 种:
- 属性注入(Field Injection);
- Setter 注入(Setter Injection);
- 构造方法注入(Constructor Injection)。
它们的具体使用和优缺点分析如下。
1.属性注入
日常开发中,属性注入是我们最常用的一种注入方式,代码实现如下:
@Controller
public class StudentController {
//1.属性注入
@Autowired
StudentService studentService;
}
解释:如下图

文章介绍了Spring中三种依赖注入方式:属性注入、Setter注入和构造方法注入。属性注入简单但存在功能性、通用性和设计原则问题;Setter注入同样不能注入不可变对象且对象可被修改;构造方法注入被官方推荐,因为它能注入不可变对象、保证对象不被修改并完全初始化,通用性更强。此外,还讨论了@Resource和@Autowired的区别以及@Qualifier在处理多Bean注入时的作用。
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



