使用 SPRING.Net 创建新对象
我是 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
目前尚不清楚您试图通过循环“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
如果你的对象定义不是单例,那么你每次都会得到一个新对象。 请注意,默认情况下,singleton 设置为 true,因此您必须显式将其设置为 false。
例如,如果您使用 xml 文件来配置对象,请将 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: