import java.util.LinkedHashMap;
 import java.util.Map;
 
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.jetty.util.security.Password;
 import org.springframework.context.ApplicationContextInitializer;
 import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.core.env.PropertySource;
 
 public class PropertyPasswordConfiguration
-    implements ApplicationContextInitializer<ConfigurableApplicationContext> {
+        implements ApplicationContextInitializer<ConfigurableApplicationContext> {
 
   private static final String JETTY_OBFUSCATION_PATTERN = "OBF:";
+  private static final String ENV = "ENV:";
 
   @Override
   public void initialize(ConfigurableApplicationContext applicationContext) {
       decodePasswords(propertySource, propertyOverrides);
       if (!propertyOverrides.isEmpty()) {
         PropertySource<?> decodedProperties =
-            new MapPropertySource("decoded " + propertySource.getName(), propertyOverrides);
+                new MapPropertySource("decoded " + propertySource.getName(), propertyOverrides);
         environment.getPropertySources().addBefore(propertySource.getName(), decodedProperties);
       }
     }
           if (rawValueString.startsWith(JETTY_OBFUSCATION_PATTERN)) {
             String decodedValue = Password.deobfuscate(rawValueString);
             propertyOverrides.put(key, decodedValue);
+          } else if(rawValueString.startsWith(ENV)){
+            String decodedValue = System.getProperty(StringUtils.removeStart(rawValueString, ENV));
+            propertyOverrides.put(key, decodedValue);
           }
         }
       }