spring的三种注入方式
- 基于 field 注入(属性注入)
- 基于 setter 注入
- 基于 constructor 注入(构造器注入)
基于field注入的好处
正如你所见,这种方式非常的简洁,代码看起来很简单,通俗易懂。你的类可以专注于业务而不被依赖注入所污染。你只需要把@Autowired扔到变量之上就好了,不需要特殊的构造器或者set方法,依赖注入容器会提供你所需的依赖。
基于 field 注入的坏处
- 容易违背了单一职责原则
- 依赖注入与容器本身耦合
- 不能使用属性注入的方式构建不可变对象(final 修饰的变量)
网友评论