title: Simplest way to use "BeanUtils alike" replace
body: <p>Is there any libraries that would allow me to use the same known notation as we use in BeanUtils for extracting POJO parameters, but for easily replacing placeholders in a string?</p>
  
  <p>I know it would be possible to roll my own, using BeanUtils itself or other libraries with similar features, but I didn't want to reinvent the wheel.</p>
  
  <p>I would like to take a String as follows:</p>
  
  <pre><code>String s = "User ${user.name} just placed an order. Deliver is to be
  made to ${user.address.street}, ${user.address.number} - ${user.address.city} / 
  ${user.address.state}";
  </code></pre>
  
  <p>And passing one instance of the User class below:</p>
  
  <pre><code>public class User {
     private String name;
     private Address address; 
     // (...)
  
     public String getName() { return name; } 
     public Address getAddress() {  return address; } 
  }
  
  public class Address {
     private String street;
     private int number;
     private String city;
     private String state;
  
     public String getStreet() { return street; }
     public int getNumber() {  return number; }
     // other getters...
  }
  </code></pre>
  
  <p>To something like:</p>
  
  <pre><code>System.out.println(BeanUtilsReplacer.replaceString(s, user));
  </code></pre>
  
  <p>Would get each placeholder replaced with actual values.</p>
  
  <p>Any ideas?</p>