Spring框架主要支持三种注入方式:字段注入、构造器注入、setter方法注入。
1、字段注入(Field Injection):通过直接在类的字段上添加注解来注入依赖。
- 字段注入在实际使用中比较简便,但也可能降低代码的可测试性和清晰度,因为字段通常是私有的。
2、构造器注入(Constructor Injection):通过类的构造方法来注入依赖。
- 在创建对象实例时,容器会通过构造器参数来解析和注入依赖项。
- 构造器注入强制要求依赖在对象创建时就需要提供,适用于必须的依赖关系。
3、setter方法注入(Setter Injection):通过类的setter方法来注入依赖。
- 容器会调用目标类的setter方法,将依赖项注入到目标类的属性中。
- setter方法注入适用于可选性依赖或需要在对象创建后才能设置的情况。