时间 2020-08-16 17:15
报错:
create connection SQLException, url: jdbc:mysql://localhost:3306/test, error
properties文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=123456
xml文件
<context:property-placeholder location="classpath:db.properties"></context:property-placeholder>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
<property name="url" value="${url}"></property>
<property name="driverClassName" value="${driverClassName}"></property>
</bean>
- 这里xml文件中的username属性赋值时使用的username因为和我们系统中的环境变量重名,所以可能导致连接被拒绝, 这时只需将properties文件中的username修改成另一个名字,同时xml文件中给username属性赋值的username也跟随properties文件中的username改名或者加前缀即可解决。
- spring容器在启动的时候默认读取我们系统中的环境变量,如果属性重名可能导致程序崩溃
- 解决方法:为配置文件的属性名加前缀
- 新配置文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
user=root
password=123456
- 新xml文件
<context:property-placeholder location="classpath:db.properties"></context:property-placeholder>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="username" value="${user}"></property>
<property name="password" value="${password}"></property>
<property name="url" value="${url}"></property>
<property name="driverClassName" value="${driverClassName}"></property>
</bean>