[英]Static property injection configuration best practice
我在多个类中使用了帮助程序组件。 这是典型的场景:
public class HelperComponent
{
public void HelperMethod()
{
// do something
}
}
public class MyClass
{
private static HelperComponent Helper{ get; set;}
public void Method1()
{
Helper.HelperMethod();
}
}
用法: new MyClass().Method1();
我想知道建议使用spring.net配置/此配置的解决方案吗? 最初,我使用此行来获取帮助程序组件:
ContextRegistry.GetContext().GetObject("HelperComponentName")
然后,我读到这不是最佳解决方案,并且应该使用注入以避免对spring的依赖并透明使用组件。
我的问题是:如何使用spring配置实现这一目标?
我可以将静态属性注入类吗? 还是应该设置Helper实例属性? 如果将Helper转换为实例属性,是否需要在弹簧配置中定义MyClass并使用CreateObject实例化MyClass?
如果是,对我来说这不是令人满意的解决方案,因为我想实例化上面编写的MyClass。
任何帮助表示赞赏。
我对spring不太熟悉,但是当使用IOC容器时,通常会注册所有应用程序的依赖项(及其生命周期),然后在对象图的顶部解析“入口点”对象。
这使您可以利用IOC容器的功能,例如构造函数和属性注入。
像这样设置后,就可以通过IOC容器配置管理各个对象的生命周期。
在这种情况下,我需要在IOC容器配置中将HelperComponent
注册为单例之后,将HelperComponent
注入MyClass
的构造函数中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.