você pode copiar propriedade ou construtor-ARG valores de objetos em Spring.NET XML?
-
21-08-2019 - |
Pergunta
Eu acredito que me deparei com este um par de meses atrás, mas agora eu estou tendo dificuldades para encontrar a resposta. Talvez alguém pode me apontar para a seção direita na documentação ?
Usando Sprint.NET , eu estou combinando arquivos XML remotos em um único contexto de aplicação onde os objetos do motor são separar os objetos de regras de negócios. O problema é algumas das regras de negócios valores são, não objetos, que são necessários pelo <property>
e <constructor-arg>
nós no xml motor:
<object name="Engine">
<constructor-arg index="0" value="business rule" />
</object>
De qualquer referência a uma propriedade de outro (atributo uso expression
vez de value
?) Objeto ou talvez alguma lista de nome / valor especializado (por exemplo, a versão de Primavera da <appsettings>
, qualquer que seja) iria funcionar.
Solução
Encontrei! A partir da página 41 do PDF Spring Framework (versão 1.2.0 M1) em "O contêiner IoC" capítulo:
5.3.8. Definir uma referência usando os membros de outros objetos e classes.
Esta seção detalha os cenários de configuração que envolvam a definição de propriedades e argumentos do construtor usando o membros de outros objetos e classes. Este tipo de cenário é bastante comum, especialmente quando se lida com o legado classes que você não pode (ou não) mudar para acomodar alguns de Spring.Net convenções ... considere o caso de uma classe que tem um argumento construtor que só pode ser calculado vai dizer, um base de dados. o alças MethodInvokingFactoryObject exatamente este cenário ... Vai permitir-lhe para injetar o resultado de uma invocação método arbitrária numa construtor (como um argumento) ou como o valor de um setter propriedade. Similarmente, PropertyRetrievingFactoryObject e FieldRetrievingFactoryObject permitem que você para recuperar valores de outro propriedade ou campo de valor do objeto. Essas classes implementar o Interface IFactoryObject que indica a Spring.NET que este objeto é em si uma fábrica eo fábricas do produto, e não a fábrica em si, é o que será associado com a identificação do objeto. objetos de fábrica são discutidos em ???
Esta é 5.3.9.1 no documentação online mais recente .