您可以从 Spring.NET XML 中的对象复制属性或构造函数参数值吗?

发布于 2024-07-09 22:21:46 字数 676 浏览 12 评论 0原文

我相信我几个月前就遇到过这个问题,但现在我很难找到答案。 也许有人可以将我指向文档中的正确部分?

使用 Sprint.NET,我将远程 XML 文件组合到单个应用程序上下文中,其中引擎对象与业务规则对象。 不是对象,这是引擎 xml 中的 节点所需的:

<object name="Engine">
    <constructor-arg index="0" value="business rule" />
</object>

问题是一些业务规则是值,而 引用另一个对象的属性(使用表达式属性而不是?)或者可能是一些专门的名称/值列表(例如Spring的版本),无论是什么)都会起作用。

I believe I came across this a couple months ago, but now I'm having trouble finding the answer. Perhaps someone can just point me to the right section in the documentation?

Using Sprint.NET, I'm combining remote XML files into a single application context where the engine objects are separate from the business rule objects. The problem is some of the business rules are values, not objects, which are needed by <property> and <constructor-arg> nodes in the engine xml:

<object name="Engine">
    <constructor-arg index="0" value="business rule" />
</object>

Either referencing a property of another object (use expression attribute instead of value?) or perhaps some specialized name/value list (e.g. Spring's version of to <appsettings>, whatever that is) would work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

盛夏尉蓝 2024-07-16 22:21:46

找到了! 从 Spring Framework(版本 1.2.0 M1)PDF 的第 41 页“IoC 容器”章节开始:

5.3.8。 使用其他对象和类的成员设置引用。

本节详细介绍了这些
配置场景涉及
属性的设置和
构造函数参数使用
其他对象和类的成员。
这种场景很常见,
尤其是在处理遗留问题时
你不能(或不会)的课程
改变以适应一些
Spring.NET 的约定...考虑
一个类有一个的情况
构造函数参数只能是
计算如下:
数据库。 这
MethodInvokingFactory对象句柄
正是这种情况......它将
允许您注入结果
任意方法调用
构造函数(作为参数)或作为
属性设置器的值。 相似地,
PropertyRetrivingFactoryObject 和
FieldRetrivingFactoryObject 允许您
从另一个检索值
对象的属性或字段值。
这些类实现了
IFactoryObject接口其中
向 Spring.NET 表明这
对象本身就是一个工厂并且
工厂产品,不是工厂
本身就是将关联的
与对象 ID。 工厂对象
进一步讨论在???

这是最新在线文档中的5.3.9.1

Found it! Starting on page 41 of the Spring Framework (Version 1.2.0 M1) PDF in "The IoC container" chapter:

5.3.8. Setting a reference using the members of other objects and classes.

This section details those
configuration scenarios that involve
the setting of properties and
constructor arguments using the
members of other objects and classes.
This kind of scenario is quite common,
especially when dealing with legacy
classes that you cannot (or won't)
change to accommodate some of
Spring.NET's conventions... consider
the case of a class that has a
constructor argument that can only be
calculated by going to say, a
database. The
MethodInvokingFactoryObject handles
exactly this scenario ... it will
allow you to inject the result of an
arbitrary method invocation into a
constructor (as an argument) or as the
value of a property setter. Similarly,
PropertyRetrievingFactoryObject and
FieldRetrievingFactoryObject allow you
to retrieve values from another
object's property or field value.
These classes implement the
IFactoryObject interface which
indicates to Spring.NET that this
object is itself a factory and the
factories product, not the factory
itself, is what will be associated
with the object id. Factory objects
are discussed further in ???

This is 5.3.9.1 in the latest online documentation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文