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=adminPara 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}: