title: Spring 3.x PropertyOverrideConfigurer insists on using set, not constructor
body: <p>Trying to use Spring PropertyOverrideConfigurer or some such subclass, to help
  create the following bean:</p>
  
  <pre><code>public class Foo {
    private final String name;
  
    public Foo(String name) { this.name = name; }
  
    public String getName() { return name; }
  }
  </code></pre>
  
  <p>Suppose my bean definition is something like</p>
  
  <pre><code>&lt;bean id="foo" class="Foo"&gt;
    &lt;constructor-arg name="name" value="abc"&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p>I've handed Spring a file foo.properties, in there it finds an entry
  foo.name="def"</p>
  
  <p>So the default name property for Foo bean is "abc", I want it overriden to be "def";
  HOWEVER I do not want to have an explicit setName(String name) method hanging
  off my Foo class, since despite what Spring thinks I consider this a terrible
  idea in software development. I expect Spring to be able to pass the
  overridden value as "def" to the constructor of Foo,
  not call Foo later with setName("def").</p>
  
  <p>I have not gotten this to work, is there a way? The only success I've had is
  to add the method</p>
  
  <pre><code> public void setName(String name) { this.name = name; }
  </code></pre>
  
  <p>to the Foo class, which again I think is a terrible idea since it opens
  up your class for unintentional side-effecting later.</p>
  
  <p>Is there any hope? Can I modify the bean definition somewhere before
  Spring creates Foo with the (wrong) "abc" name?</p>