问题标签 [constructor-injection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
95669 浏览

c# - 我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?

我正在使用 Microsoft 的 Unity 进行依赖注入,我想做这样的事情:

RepositoryA并且RepositoryB两者都有一个带IDataContext参数的构造函数,我希望 Unity 使用我传递的上下文初始化存储库。另请注意,IDataContext未在 Unity 中注册(我不想要 3 个实例IDataContext)。

0 投票
6 回答
408 浏览

java - 构造函数注入,可测试性设计

我有这段代码(你可能会忽略它是 Swing 代码),但我的构造函数中通常会出现太多参数。我应该使用模型 bean 类,然后在构造函数中传递该对象吗?

在这段代码中,我正在考虑添加更多由此类使用的对象。我是否继续添加更多参数并将它们传递给构造函数。可能使用设置注入?

但根据米斯科的说法,这也是代码异味。

http://misko.hevery.com/code-reviewers-guide/

“对象被传入但从未直接使用(仅用于访问其他对象)”

0 投票
3 回答
38988 浏览

c# - MEF 构造函数注入

我正在尝试找出 MEF 的构造函数注入属性。我不知道如何告诉它加载构造函数的参数。

这是我要加载的属性

这是我用来导入程序集的代码。

这是我要加载的课程

0 投票
3 回答
35113 浏览

c# - C#/Unity 中的构造函数注入?

我将 C# 与 Microsoft 的 Unity 框架一起使用。我不太确定如何解决这个问题。这可能与我对 Unity 的 DI 缺乏了解有关。

我的问题可以使用以下示例代码来总结:

当我在 Bus 上调用 resolve 方法时,如何确定名称为 'timmy' 的 Person 'son' 已被注入,而在解析 Train 时,我如何确定名称为 'joe' 的 Person 'dad' 已解决?

我在想也许使用命名实例?但我不知所措。任何帮助,将不胜感激。

顺便说一句,我宁愿不创建 IPerson 接口。

0 投票
3 回答
465 浏览

java - 可测试的 Java 代码:使用带有构造函数的模型 bean

根据拥有可测试性博客的 Misko Hevery 的说法。开发人员应避免使用“持有人”、“上下文”和“厨房水槽”对象(这些对象包含各种其他对象并且是协作者的抓包)。传入您需要的特定对象作为参数,而不是该对象的持有者。

在示例中,这段代码有异味吗?我应该只传递需要的参数还是传递我需要的数据的模型/bean。

例如,你会做这样的事情吗:注意。我可能可以将数据作为构造函数参数传递。这是代码味道吗?

另一个问题:在编写可测试代码时,您是否倾向于编写太多类。有太多类或一个类有太多方法是错误的。这些类很有用并且只有一个目的。但是,我可以看到它们可以在哪里重构为一个更大的类……但是那个类有多种用途。

0 投票
4 回答
6592 浏览

c# - 具有多个存储库的依赖注入

我有一个 wcf 服务,在客户端我有:

实际的服务代码是:

所以,这一切都很好,但我不喜欢我如何同时更新所有存储库,因为客户端代码可能不需要UserRepository更新,只对更新BusinessRepository. 那么,有没有办法向该代码传递一些东西:
var service = new ServiceReference1.CACSServiceClient()
根据调用服务的代码或我在为我的实体框架设计存储库时需要进行的任何其他建议来告诉它要新建哪个存储库。谢谢

0 投票
2 回答
1983 浏览

java - Spring:通过构造函数注入静态成员(System.in)

我为一个简单的应用程序编写了某种控制台客户端。为了更灵活,我认为只依赖java.io.Input-/OutputStream而不是System.in/out直接访问会很好。

我将类重命名ConsoleClientStreamClient,添加了设置器并确保使用实例字段而不是System.in/out.

目前我的客户端代码如下所示:

问题:

有没有办法将第 3 行和第 4 行移到 Spring 配置中(最好是构造函数注入)?

谢谢你的时间。

0 投票
2 回答
204 浏览

.net - 如何实例化注入依赖项的类的对象?

假设我有一些依赖注入的类:

我的问题是,如何实例化该类的对象?假设我有一个实现,称为 AppLogger。我说之后

如何调用 SomeBusinessCaller 的构造函数?我在打电话吗

或者有不同的策略?

0 投票
8 回答
19657 浏览

java - SLF4J记录器的Spring构造函数注入-如何获取注入目标类?

我正在尝试使用 Spring 将 SLF4J 记录器注入到这样的类中:

我找到了FactoryBean我已经实现的类。但问题是我无法获得有关注入目标的任何信息:

FactoryBean 是正确的方法吗?当使用 picocontainers工厂注入时,你会得到Type传入的目标。在 guice 中它有点棘手。但是你如何在 Spring 中实现这一点?

0 投票
3 回答
5630 浏览

java - JAXB 构造函数注入

我想知道如何使 JAXB 编译器使我的 XML 模式中的某些元素在 java 类定义中声明为 final,并且我还希望能够控制不同的构造函数,就像我想要一个构造函数一样可以使用包含在类中的完整参数列表以及 JAXB 所需的默认私有构造函数来创建对象。

有什么帮助吗?

谢谢。

这是我正在尝试做的一个例子:

现在生成的代码看起来像

但我想编辑架构使其看起来像:

这可以实现吗?