在 Spring/Spring Boot 中,@Autowired 注解用于实现依赖注入(DI),虽然它能简化开发,但在实际项目中并不推荐过度使用,主要原因如下:

1. 与 Spring 容器紧耦合,违背依赖注入的初衷

@Autowired 是 Spring 框架提供的注解,依赖于 Spring 容器的注入机制。如果类中直接使用 @Autowired 标注字段或方法,意味着这个类强耦合了 Spring 容器——脱离 Spring 环境后,这个类无法通过常规方式(如手动 new 实例)正常初始化(依赖无法注入),违背了“依赖注入原本是为了降低耦合”的设计思想。

例如:

public class UserService {
    @Autowired // 依赖 Spring 容器注入
    private UserDao userDao;
code

}

code

}

// B 依赖 A @Component public class B { @Autowired private A a; }

code

}