Вместо переменных среды файл свойств будет полезен и более переносим. Например, в вашем файле свойств у вас может быть следующее:
db.url = jdbc://foo/bar?whatever
db.user = username
db.password = password
Тогда ваш код может прочитать это, используя следующее:
Properties properties = new Properties();
try {
properties.load(new FileInputStream("path/filename"));
} catch (IOException e) {
System.err.println( "Eeeek!" );
}
System.out.println( properties.getProperty( "db.url" ) );
Удобно, объекты свойств позволяют вам задавать значения по умолчанию, так что вы можете по-прежнему иметь жестко закодированные значения, если хотите, а затем переопределить их внешним файлом.