为什么spring 不推荐用@Autowired
时间: 2024-03-06 22:18:40 浏览: 103
Spring使用@Autowired为抽象父类注入依赖代码实例
Spring不推荐使用@Autowired进行依赖注入的主要原因是为了避免过度依赖具体的框架。使用@Autowired会将依赖注入的责任交给了Spring容器,这样会导致代码与Spring框架高度耦合。此外,使用@Autowired注入依赖还存在以下问题:
1. 可读性差:直接在字段上使用@Autowired注解,可能会使代码的可读性变差,不容易看出对象的依赖关系。
2. 难以进行mock测试:在单元测试中,难以对@Autowired注入的依赖进行mock,因此测试代码也会变得复杂。
3. 复杂性增加:当对象的依赖关系发生变化时,如果有大量使用@Autowired注解进行依赖注入的地方,需要修改的地方也会很多,增加了代码的复杂性。
相比之下,Spring推荐使用构造函数注入或者Setter注入来
阅读全文