title: Why does Spring 3.x ignore certain placeholderPrefixes for PropertyPlaceholderConfigurer?
body: <p>I have the bean definitions below. If I change the placeholderPrefix for the "exposeSystemProperties" bean to "${" and use that in the properties path of the second bean, it works. If I change it to anything but "%{" it doesn't work. I can't use any other string (e.g. "$sys{", "#[", etc.). I'm currently on 3.0.5.RELEASE.</p>
  
  <p>Any thoughts as to why this is? To compound it all, I have a 3rd PropertyPlaceHolderConfigure, so only having two prefixes does not work.</p>
  
  <pre><code>  &lt;bean id="exposeSystemProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
      &lt;property name="ignoreUnresolvablePlaceholders" value="true" /&gt;
      &lt;property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /&gt;
      &lt;property name="placeholderPrefix"&gt;&lt;value&gt;$sys{&lt;/value&gt;&lt;/property&gt;
      &lt;property name="order" value="10" /&gt;
    &lt;/bean&gt;
  
    &lt;bean id="localFileProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
      &lt;property name="ignoreUnresolvablePlaceholders" value="true" /&gt;
      &lt;property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_NEVER" /&gt;
      &lt;property name="placeholderPrefix" value="%{" /&gt;
      &lt;property name="placeholderSuffix" value="}" /&gt;
      &lt;property name="order" value="20" /&gt;
      &lt;property name="locations"&gt;
        &lt;array&gt;
          &lt;bean class="java.lang.String"&gt;
              &lt;constructor-arg&gt;&lt;value&gt;classpath:properties/$sys{deploy.env}/client.properties&lt;/value&gt;&lt;/constructor-arg&gt;
          &lt;/bean&gt;
        &lt;/array&gt;
      &lt;/property&gt;
    &lt;/bean&gt;
  </code></pre>