问题标签 [property-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.
inversion-of-control - Windsor Container:如何指定一个公共属性不应该被容器填充?
在实例化一个类时,Windsor 默认将类的所有公共属性视为可选依赖项并尝试满足它们。就我而言,这会创建一个相当复杂的循环依赖,导致我的应用程序挂起。
我如何明确告诉温莎城堡它不应该试图满足公共财产的要求?我认为一定有那个程度的属性。但是我找不到它,所以请让我知道适当的命名空间/程序集。
如果有任何方法可以在没有属性(例如 Xml 配置或通过代码配置)的情况下执行此操作,那将是更可取的,因为发生这种情况的特定库迄今为止不需要依赖于 castle。
dependency-injection - 如何让 Castle Windsor 自动注入属性?
我的课程中有一个用于日志记录服务的属性。
我在我的组件注册中有这个:
但是,Windsor 似乎没有注入 Logger - 我错过了什么吗?
inversion-of-control - 使用 Microsoft Unity 进行编程属性注入
我在我的解决方案中使用构造函数注入,但是这个类有一个属性,我不想在我具有不变依赖项的构造函数中传递该属性。
假设我有一个 ILogger,它有一个我想设置的 FileName 属性,同时仍然让它在构造函数中设置依赖关系。我如何去注册类型,同时传递默认连接字符串。
我希望有一种简单的方法来做到这一点 - 最好不要用属性装饰属性,但如果使用属性更容易设置,我想这很酷:)
所以问题是,我如何在也使用构造函数注入的对象上注入属性值 - 使用 Unity。
更新:我在标题中提到了它,但我忘了在正文中详细说明——我想手动(在代码中)设置这些依赖项,而不是在配置文件中。
.net - 如何防止 Castle Windsor 注入属性依赖?
有没有办法防止 Castle Windsor 自动将依赖项注入属性(除了 [DoNotWire] 属性)?
c# - ActionFilterAttribute 的 Ninject 2 属性注入不起作用
我有一个方法属性,它期望 Ninject 2 注入几个属性,但是userSession
现在jobRepository
为空:
这是控制器中的方法:
我知道我的设置工作正常,因为如果我在控制器上使用构造函数注入,控制器的参数就会被注入。尽管需要使用属性注入,但这对属性没有多大帮助。我在这里错过了什么吗?
以下是 Global.asax.cs 的相关药水:
structuremap - StructureMap 如何用于创建具有原始构造函数参数的对象的 setter 依赖项?
我有一个实现“ITestProperty”的对象“TestProperty”。“TestProperty”采用字符串构造函数参数。这是在 StructureMap 中使用类似于 CorDependency 或 WithCtorArg 的东西配置的。
我想将“ITestProperty”的一个实例(用“TestProperty”实现)作为属性注入另一个类。当我尝试运行代码时出现异常(StructureMap 错误代码 205,“缺少请求的实例属性”)。
这是重现问题的简化版本:
测试:
注册表设置:
测试对象:
当我们去初始化上面的“TestController”对象时,就会抛出异常。可以用 StructureMap 做到这一点吗?假设这是可能的,我需要做什么才能让它工作?
提前致谢。
asp.net-mvc-3 - 访问在基类的构造函数中使用属性注入定义的基类属性
我已经阅读了 ninject wiki 上的所有内容和许多帖子,但仍然不明白如何设置注入以便我可以引用此属性。我希望能够在基类构造函数中引用该属性,以便在创建任何控制器时最终设置一个通用的 ViewBag 属性。似乎实现 iInitializable 接口是正确的方法,但再次不确定如何执行此操作。另外,我选择不在基类构造函数中注入 IMyService 以简化派生类的编码。
我最近尝试的代码的简化版本:
castle-windsor - 温莎函数属性注入
使用 Windsor 2.5.2,以下工作:
要延迟创建 IBar,这也可以:
但是,如果我将属性注入与 结合使用Func<T>
,则会导致空引用:
我怎样才能让温莎注入Func<IBar>
?
dependency-injection - 如何使用 Autofac 2.4.5 处理循环引用?
关于循环引用的 autofac wiki 页面说要使用:
但看起来ActivatedHandler在 2.4.5 中不再存在。在源代码中挖掘,我找到了该类的实现,因此我将方法实现放在了 OnActivated 中。不幸的是,这仍然不起作用。
我在这里整理了一个最小的复制品,看起来就像 Wiki 页面上的内容。
尝试 Resolve 时,此代码仍会引发堆栈溢出异常。我错过了什么?让 Autofac 处理循环依赖的正确方法是什么?
dependency-injection - unity InjectionProperty 生成空属性
这里的各种帖子没有说明为什么每次我尝试在 Unity 2.0(4 月)中使用 InjectionProperty() 构造时,它都不会填充我解析的实例中的属性。它们始终为空。我可以在调试器中看到创建了对象,但是对应该注入的属性的第一个引用始终是空引用异常。我所做的事情肯定有一些根本性的错误。
任何帮助是极大的赞赏。
我在互联网上遍历了很多路径,以确定如何使用 Unity 进行属性注入,但我最终还是得到了一个实例化的对象,该对象带有一个应该被注入的空属性。所以它死了。
有几个问题:
1) 这些 PropertyInjector 对象在调试器中在哪里可见?没有多少采矿揭示了这些,所以我无法确定它们是否“准备好注入”。
2) 具有该属性的对象确实通过 Resolve 实例化,但它从未获得属性值(该属性是 ILog 对象)。
我束手无策,诚然,这可能是一根短绳,但这到底是怎么回事?任何见解。
这是代码:
我确实在几个位置看到似乎需要使用
[Dependency]
标记属性
,而在其他地方表明这些标记将被代码中的InjectionProperty对象覆盖。讨论模棱两可。
我非常担心 Unity = DisUnity ,我什至可能会尝试使用它。