terça-feira, 20 de novembro de 2012

Lendo parâmetros da máquina virtual Java com Spring

Para esta tarefa, usei a versão 2.5 do spring.

Primeiramente, para passar um parâmetro para a JVM onde a aplicação será executada, use, por exemplo:
-Denvironment=dev

Na aplicação, vamos atentar para o cabeçalho do applicationContext:



Como exemplo de leitura, vamos usar o caso de ambientes de execução da aplicação. Onde temos valores de conexão distintos para uma base de dados.

Então, temos um database.properties para cada tipo de ambiente.

Guardei estes arquivos com pastas nomeadas pelo ambiente em uso, que foram criadas no diretório WEB-INF. Para a pasta dev, temos:

jdbc.url=jdbc:oracle:thin:@localhost:1521:base
jdbc.usernme=admin
jdbc.password=admin
Para ler este arquivo pelo spring, teremos que criar um bean:


    
        /WEB-INF/config/${environment}/database.properties
    


Depois disso, para usar o valor da propriedade no arquivo, basta usar a notação ${propriedade}: