【发布时间】:2016-03-15 13:17:38
【问题描述】:
“本地”是指在方法调用期间创建和销毁 bean。这与调用构造函数基本相同,优点是能够在该 bean 的字段中使用 @Inject。
我为什么要这样做
我正在重构使用 CDI 的遗留代码。我想extract very long methods into classes。方法中的局部变量将被类中的字段替换,因此 bean 将具有仅属于该短期范围(方法调用的持续时间)的状态。 bean 还将依赖于服务和其他范围更广的 bean,我宁愿注入也不愿将长参数列表传递给构造函数。
【问题讨论】:
-
如果你重构类,你可以把它们变成一个“无状态”的应用程序范围的bean,这样你就不需要考虑这么窄的范围