Pergunta

Posso fazer algo como isto:

  <object id="mydb" type="string">
    <value>"blah"</value> <-- note that <value> tag does not really exist
  </object>

Assim que eu poderia usá-lo mais tarde, como assim:

  <object id="Someobject" type="Sometype">
    <property name="ConnectionString" ref="mydb"/>
  </object>

EDIT: esta foi a solução SpringFramework.NET que eu estava procurando. Looks como PropertyPlaceholderConfigurer existe lá também. Obrigado a todos.

Foi útil?

Solução

Usar Primavera built-in PropertyPlaceholdConfigurer :

<bean id="PropertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
   <property name="location" value="classpath*:/application.properties"/>
</bean>

 <bean id="Someobject" class="somepackage.Sometype">
   <property name="connectionString" value="${mydb}"/>
 </bean>

Configuração SYSTEM_PROPERTIES_MODE_OVERRIDE permite substituir a propriedade através da linha de comando.

Outras dicas

Use espaços reservados por exemplo, $ {mágica} e definir a chave / valor em um arquivo de propriedades, juntamente com um pós-processador. Google para processador primavera pós espaço reservado ...

Não vejo qualquer vantagem para o seu caminho em tudo. É tudo ainda apenas configuração.

Às vezes as pessoas exteriorizam cadeias de conexão de banco de dados para um arquivo .properties e chegar a eles dessa forma. Eu acho que faz mais sentido do que a sua proposta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top