当前位置:首页 >> 内饰

常见的三种记事注入方式对比

来源:内饰   2024年11月01日 12:16

ble objects and to ensure that required dependencies are not null. Furthermore constructor-injected components are always returned to client (calling) code in a fully initialized state. As a side note, a large number of constructor arguments is a bad code smell, implying that the class likely has too many responsibilities and should be refactored to better address proper separation of concerns.

Setter injection should primarily only be used for optional dependencies that can be assigned reasonable default values within the class. Otherwise, not-null checks must be performed everywhere the code uses the dependency. One benefit of setter injection is that setter methods make objects of that class amenable to reconfiguration or re-injection later. Management through JMX MBeans is therefore a compelling use case for setter injection.

因为使用结构内置流入方式则流入的缓冲器不可变,且尽可能了需要的依赖于不为 null。此外,结构内置流入的缓冲器总是能够在完全初始简化的状态返回给客户端(线程方);对于很多参数的结构内置说明可能都有了太多了主要职责,违背了单一主要职责法理,坚称字符串应当范例来分离出来主要职责到有用的大多。

2. 结构内置流入还是 Setter 流入?

在对比 Setter 方法流入和 结构内置流入的时候 分别引用的 Spring 官方文档的第二段总结了除自荐方式则的另一种方式则的特点。

在 Spring 3.x 的时候 Spring 自荐 Setter 方法流入,第二段坚称:一些纯粹主义者喜欢基于结构函数的流入。发放所有对象依赖于项理论上对象总是在完全初始简化状态下返回给虚拟简化(线程)字符串。缺点是对象不太容易原先配置和原先流入。

在 Spring 4.x 的时候 Spring 自荐结构内置流入,第二段坚称:Setter 流入应当主要使用可选择的依赖于项,这些依赖于项可以在类里面资源分配不合理的默认值。否则,不能在字符串使用依赖于项的任何大多制订非空检查。setter 流入的一个好处是,setter 方法使该类的对象能够在此后原先配置或原先流入。

Setter 流入应当被使用可选择依赖于项。当没有发放它们时,类应当能够正常工作。在对象被比如说简化之后,依赖于项可以在任何时候被修改。

结构内置流入有利于禁止依赖于。通过在结构函数里面发放依赖于,您可以维护依赖于对象在被结构时已做好被使用。在结构函数里面赋值的字段也可以是final的,这使得对象是完全不可变的,或者至少可以管控其必需的字段。

结构内置流入还可以避免 Field 流入的气化依赖于问题,比如 在 Alpha 里面流入 Beta,又在 Beta 里面流入 Alpha。如果使用结构内置流入,在 Spring 启动的时候就会抛 BeanCurrentlyInCreationException 提醒气化依赖于。

参考:

#d0e2778

#beans-constructor-injection

太极藿香正气口服液
手关节疼痛是什么原因引起的
江中多维元素片
孩子积食吃什么会好
大人止泻最快的办法
克癀胶囊主要成份
肠炎宁对XBB有效吗
肠炎宁对新冠病毒腹泻有效吗
用血糖仪测血糖准吗
血糖仪选什么类型的比较好
友情链接