日期:2014-05-17  浏览次数:20698 次

spring 如何连接数据库的
AppCtxDataSource.xml 这个里面是这样的:
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${driverClassName}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
    </bean>

jdbc.properties

driverClassName=com.ibm.db2.jcc.DB2Driver
url=jdbc:db2://172.16.77.31:50007/ND01
username=it07
password=111111

这个是如何把值传过去,然后连接数据库的,原理是什么,不懂了,求解释!!
spring??jdbc?

------解决方案--------------------
使用<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations" value="classpath:com/foo/jdbc.properties"/>
</bean>
或者
spring2.5中介绍了context命名空间,那么使用声明的配置元素就可配置placeholder。在location属性中,使用逗号分隔符就可以提供一个或更多的location值
<context:property-placeholder location="classpath:com/foo/jdbc.properties"/>
均可以实现在运行时,字符串${username}被替换成值it07,其他的值也会相应的处理。

在运行时,PropertyPlaceholderConfigurer被应用到元数据上,改变datasource中的属性值。