title: Using jdbc properties file to set dataSource in applicatioinContext.xml.Why I must use ${jdbc.XXX} but not ${XXX}?
body: <p>I am training to integrate the Struts2 and Spring and Hibernate.I using a properties file to set the dataSource:</p>
  
  <pre><code>&lt;context:property-placeholder location="classpath:db.properties"/&gt;
  &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&gt;
    &lt;property name="driverClass" value="${jdbc.driverClass}" /&gt;
    &lt;property name="jdbcUrl" value="${jdbc.url}" /&gt;
    &lt;property name="user" value="${jdbc.username}" /&gt;
    &lt;property name="password" value="${jdbc.password}" /&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p>And this is the db.properties following:</p>
  
  <pre><code>jdbc.driverClass=com.mysql.jdbc.Driver
  jdbc.url=jdbc\:mysql\://localhost\:3306/sp3
  jdbc.username=root
  jdbc.password=123456
  </code></pre>
  
  <p>I find the example about this in spring-reference,but <strong>I just don't know why I must use ${jdbc.XXXXX} but not ${XXXXX}.I try to write "username=root","password=123456",and then it cause "Access denied for user 'Administrator'@'localhost' (using password: YES)"</strong></p>
  
  <p>If using the Expression Language principle:${jdbc.username} meanings "getJdbc().getUsername();"because in the struts-tag,${model} means getModel(),is it right?</p>
  
  <p>I find the source about PropertyPlaceholderConfigurer and ComboPooledDataSource ,but I can not find any code about getJdbc();</p>
  
  <p>Thank you for your help.</p>