最近看了下开源系统Jpetstore,有一个疑问
dataAccessContext-local.xml文件部分内容如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean> <!-- Transaction manager for a single JDBC DataSource -->
<!-- (see dataAccessContext-jta.xml for an alternative) -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
我想问的是:配置数据库连接元数据不是在sql-map-config.xml中配置的吗?为什么会出现在这个文件里(这个文件是spring的配置文件吗?)
sql-map-config.xml文件部分内容如下:
  <transactionManager type="JDBC" >
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:sino"/>
      <property name="JDBC.Username" value="fly"/>
      <property name="JDBC.Password" value="oracle"/>    </dataSource>
  </transactionManager>

解决方案 »

  1.   

    还有一个问题:在applicationContext.xml文件中
    <bean id="helloBean" class="com.HelloBean">
            <property name="helloworld">
                <value>Hello!Rick</value>
            </property>
    </bean>
    property中name属性名是否一定要和类HelloBean中属性名一样?(HelloBean中就包括一个属性helloworld)
      

  2.   

    不一定,只要和set方法能匹配就可以了
    属性是helloworld的话,set方法就是setHelloworld
      

  3.   

    jpetstore的applicationContext.xml里
    <!-- Configurer that replaces ${...} placeholders with values from properties files -->
    <!-- (in this case, mail and JDBC related properties) -->
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <list>
    <value>WEB-INF/mail.properties</value>
    <value>WEB-INF/jdbc.properties</value>
    </list>
    </property>
    </bean>
    用来读取jdbc.driverClassName等设置的。
    这样在配置的时候就可以不在sql-map-config.xml里面配置了。而在spring的xml里就可以写成${jdbc.****}的形式