使用 SPRING.Net 创建新对象

发布于 2024-07-19 16:10:43 字数 269 浏览 10 评论 0原文

我是 spring.net 的新手,我正在尝试创建一个 List<> 的物体。 该列表通过调用以下循环来初始化:

  • IObj obj= (IObj)ContextRegistry.GetContext().GetObject("obj")

  • 更改对象属性....

  • 将其添加到列表...

问题是:我在循环的每一步都不断得到相同的对象 所以我得到了相同对象的列表

I'm new on spring.net, and I'm tring to create an List<> of objects.
The list is initialized by a loop that calls:

  • IObj obj= (IObj)ContextRegistry.GetContext().GetObject("obj")

  • change object properties....

  • add it to the list...

the problem is : I keep getting the same object every step of the loop
so I get a list of the same object

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

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

发布评论

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

评论(2

落花随流水 2024-07-26 16:10:43

目前尚不清楚您试图通过循环“GetObject(“obj”)”方法来实现什么目的。 也许你可以发布循环代码?

“GetObject(“obj”)”的作用是向容器询问名称为“obj”的对象。 您声明要更改对象的属性并将其添加到列表中。 这是容器可以为您做的事情:
设置对象的属性:
http://www.springframework.net/ doc-latest/reference/html/objects.html#objects-simple-values
创建一个列表:
http://www.springframework.net/ doc-latest/reference/html/objects.html#objects-collections-values

此列表可以注入到您选择的对象中。

如果您只想要 IObj 的非单例对象,naders 的答案是正确的。 Spring 将这些非单例对象称为“原型”。 可用范围的概述可以在这里找到: http://www.springframework.net/doc-latest/reference/html/objects.html#objects-factory-scopes

It is not clear what you are trying to achieve by looping over the "GetObject("obj")" method. Maybe you can post the loop-code?

What "GetObject("obj")" does is to ask the Container for the Object with the name "obj". You stated that want to change the object's properties and add it to a list. This is something the container can do for you:
Set the properties of an Object:
http://www.springframework.net/doc-latest/reference/html/objects.html#objects-simple-values
Create a list:
http://www.springframework.net/doc-latest/reference/html/objects.html#objects-collections-values

This list can be injected into an Object you choose.

If you just want non-singleton objects of your IObj, naders answer is correct. Spring calls these non-singleton objects "prototypes". An overview of available Scopes can be found here: http://www.springframework.net/doc-latest/reference/html/objects.html#objects-factory-scopes

我为君王 2024-07-26 16:10:43

如果你的对象定义不是单例,那么你每次都会得到一个新对象。 请注意,默认情况下,singleton 设置为 true,因此您必须显式将其设置为 false。

例如,如果您使用 xml 文件来配置对象,请将 singleton 属性设置为 false:

<object name="name" type="..." singleton="false"/>

If your object definitions are not singletons, then you will get a new object each time. Note, by default, singleton is set to true, so you have to explicitly set it to false.

For example, if you are using xml files to configure your objects, set the singleton attribute to false:

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