J'ai un objet suivant:Spring RegisterSingleton
public class TestObject
{
public String Something { get; set; }
}
et un objets fichier suivant:
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd">
<object id="TestObject" type="SpringTest.TestObject" autowire="byName"/>
</objects>
Ce que je voudrais faire est de vous inscrire et obtenir le singleton TestObject. Je fais ceci comme ceci:
IConfigurableApplicationContext context = new XmlApplicationContext("objects.xml");
context.ObjectFactory.RegisterSingleton("Something", "something to test");
object obj = context.GetObject("TestObject");
Mais la propriété d'objets Quelque chose est toujours nulle. Je pense que cela devrait fonctionner ou est-ce que je fais quelque chose de mal?
Merci beaucoup!
Hmm vous avez raison, l'instanciation paresseuse aidé bien sûr.Laissez-moi vous décrire ce que je veux faire: j'ai plusieurs contextes pour différents clients. Lorsque je tire l'objet d'un contexte, je veux ajouter un client "id" (objet nhibernate simple) à l'objet tiré (service) et tous les autres services qui sont référencés à partir de l'objet tiré. – rrejc
Désolé, je ne comprends toujours pas ce que vous essayez de faire. Essayez d'être précis sur les objets qui sont des singletons et les références dont vous avez besoin entre les objets. Vous trouverez peut-être utile d'utiliser l'injection de méthode, il est conçu pour lisser les limites entre les objets de différentes étendues. Voici la documentation: http://www.springframework.net/docs/1.3.0-RC1/reference/html/objects.html#objects-method-injection –