Pouvez-vous copier la propriété ou les valeurs de constructeur-arg à partir d'objets dans Spring.NET XML?

StackOverflow https://stackoverflow.com/questions/357595

  •  21-08-2019
  •  | 
  •  

Question

Je crois que je suis tombé sur ce il y a quelques mois, mais maintenant je vais avoir du mal à trouver la réponse. Peut-être que quelqu'un peut me pointer vers la partie droite de la ?

Utilisation Sprint.NET , je combine des fichiers XML à distance dans un contexte d'application unique où les objets du moteur sont séparer des objets de règles métier. Le problème est une partie des règles de gestion sont des valeurs, pas des objets, qui sont nécessaires par et <property> noeuds dans le <constructor-arg> xml moteur:

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

Soit faisant référence à une propriété d'un autre objet (utilisation attribut au lieu de expression value?) Ou peut-être une liste nom / valeur spécialisée (par exemple la version de printemps à <appsettings>, quelle qu'elle soit) travailleraient.

Était-ce utile?

La solution

Je l'ai trouvé! À partir de la page 41 du Cadre de printemps (version 1.2.0 M1) PDF dans "Le conteneur IoC" chapitre:

  

5.3.8. Définition d'une référence à l'aide des membres d'autres objets et classes.

     

Cette section décrit les   scénarios de configuration qui impliquent   la définition des propriétés et   arguments du constructeur en utilisant le   membres d'autres objets et classes.   Ce genre de scénario est assez fréquent,   surtout face à l'héritage   les classes que vous ne pouvez pas (ou pas)   changer pour tenir compte de certains des   Les conventions de Spring.Net ... considèrent   le cas d'une classe qui a   argument du constructeur qui ne peut être   calculée en allant à-dire un   base de données. le   poignées MethodInvokingFactoryObject   exactement ce scénario ... il   vous permettent d'injecter le résultat d'une   invocation de méthode arbitraire dans un   constructeur (comme argument) ou en tant que   valeur d'un setter de propriété. De même,   PropertyRetrievingFactoryObject et   FieldRetrievingFactoryObject vous permet   pour récupérer les valeurs d'un autre   propriété de l'objet ou la valeur champ.   Ces cours mettent en œuvre la   Interface IFactoryObject qui   indique à Spring.NET que cette   objet lui-même est une usine et la   produit des usines, et non l'usine   lui-même, est ce qui sera associé   avec l'ID d'objet. objets d'usine   sont discutés plus loin dans ???

Ceci est 5.3.9.1 dans le dernière documentation en ligne .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top