依赖注入是一种设计模式,最初是Spring框架的核心概念之一。其作用是去除Java类之间的依赖关系,实现松耦合,以便于开发测试。如今这一设计理念也风靡Android端,比如dagger1,dagger2,hilt等一些框架。
依赖注入的含义是,当一个类需要引用另一个类的实例时,不是自己创建或获取,而是由外部提供并注入。这样可以减少类之间的耦合,提高代码的可重用性和可测试性。
依赖注入有三种主要方式:
- 构造函数注入:依赖项是通过类构造器提供的。
- setter注入:注入器用客户端的setter方法注入依赖项。
- 接口注入:依赖项提供了一个注入方法,该方法将把依赖项注入到传递给它的任何客户端中。客户端必须实现一个接口,该接口的setter方法接收依赖。