title: Binding to @ConfigurationProperties with a Map does not preserve the order of keys
body: <p>I am using @ConfigurationProperties to inject the map from properties file. Below is the code:</p>
  
  <pre><code>@ConfigurationProperties("product")
  public class WebUtils {
  private WebUtils() {
  }
  
  public static String getURLWithContextPath(HttpServletRequest request) {
      return request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
              + request.getContextPath();
  }
  
  private static Map&lt;String, String&gt; solitaireProp = new LinkedHashMap&lt;&gt;();
  
  public Map&lt;String, String&gt; getSolitaireProp() {
      return solitaireProp;
  }
  
  public static List&lt;String&gt; getSolitaireProperties(){
      List&lt;String&gt; solProp = new ArrayList&lt;&gt;();
      for(HashMap.Entry&lt;String, String&gt; entry : solitaireProp.entrySet()) {
          solProp.add(entry.getKey());
      }
      return solProp;
  }}
  </code></pre>
  
  <p>The code is working fine but it is not preserving the order of entries I have in the properties file e.g. if properties file enter is:</p>
  
  <pre><code>product.solitaireProp.lab=lab
  product.solitaireProp.certificateNo=certificate_number
  product.solitaireProp.shape=shape
  </code></pre>
  
  <p>But the entries to my LinkedHashMap is not in same order as above. Do anyone know how to maintain the order??</p>