Setter Injection:一种常见的依赖注入(Dependency Injection, DI)方式,通过对象的 setter(设值器/属性设置方法)把所需依赖传入对象内部,而不是在构造函数里一次性传入。常用于需要“可选依赖”、或希望在对象创建后再配置依赖的场景。
/ˈsɛtər ɪnˈdʒɛkʃən/
setter 来自 set(设置)+ -er(表示执行动作的人/物),在面向对象语境里指“用于设置属性的方法”。
injection 来自拉丁语 inicere(“投放/注入”之意,经由 inject 演变),在软件工程中引申为“把依赖提供给组件”的做法。合起来即“通过 setter 进行注入”。
The framework uses setter injection to configure the service.
该框架使用 setter 注入 来配置服务。
Setter injection makes it easier to replace dependencies during testing, but it can also leave objects in a partially initialized state.
Setter 注入 让测试时替换依赖更容易,但也可能导致对象处于“未完全初始化”的状态。