Spring 依赖注入中 Field 注入的有害性

Spring 依赖注入中 Field 注入的有害性大致分为:Field注入、构造注入、setter注入其中Field注入被认为有害的:1.违反了单一原则当一个class中有多个依赖时,如果仅仅使用Field注入,则看不出有很多依赖关系。而使用构造注入\setter注入,可以观察到,这样我通常会对代码进行重构。2.依赖隐

大家好,欢迎来到IT知识分享网。Spring 依赖注入中 Field 注入的有害性

大致分为:Field 注入、构造注入、setter 注入

其中 Field 注入被认为有害的:

1. 违反了单一原则

当一个 class 中有多个依赖时,如果仅仅使用 Field 注入,则看不出有很多依赖关系。而使用构造注入\setter  注入,可以观察到,这样我通常会对代码进行重构。

2. 依赖隐藏

使用 DI 容器,类本身不再管理其依赖,但是应当明确地通过 public 接口方法\构造器显示相关依赖。

3. DI 容器耦合

因为没有提供相关方法/构造函数手动注入依赖,无法独立于容器之外实例化。

 

参考文档


 https://stackoverflow.com/questions/39890849/what-exactly-is-field-injection-and-how-to-avoid-it

https://www.vojtechruzicka.com/field-dependency-injection-considered-harmful/

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32934.html

(0)
上一篇 2023-11-20 07:15
下一篇 2023-12-11 16:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信