发现问题
在做spring引入jdbc.properties的时候,属性值引入不到spring中。
以下是jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
username=root
password=123456
以下是引入信息
<!--配置整合mybatis过程 1.配置数据库相关参数 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!--2.数据库连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!--配置连接池属性 -->
<property name="driverClass" value="${driver}" />
<!-- 基本属性 url、user、password -->
<property name="jdbcUrl" value="${url}" />
<property name="user" value="${username}" />
<property name="password" value="${password}" />
<!--c3p0私有属性 -->
<property name="maxPoolSize" value="30" />
<property name="minPoolSize" value="10" />
<!--关闭连接后不自动commit -->
<property name="autoCommitOnClose" value="false" />
<!--获取连接超时时间 -->
<property name="checkoutTimeout" value="1000" />
<!--当获取连接失败重试次数 -->
<property name="acquireRetryAttempts" value="2" />
</bean>
分析并解决问题
1.用了${username}之后它好像会取当前计算机用户名来连数据库,将username改成name解决
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
name=root
password=123456
2.context:property-placeholder默认取的是系统文件,设置属性不从系统文件中取
<context:property-placeholder location="classpath:jdbc.properties" system-properties-mode="NEVER"/>