在之前的SSH框架搭建的博客中,配置数据库连接时,直接将数据库的用户名、密码等信息写在了Spring配置文件中(如下图)。这样导致的结果是,如果数据库密码修改了,就需要修改Spring配置文件;如果有多个项目都使用了这个数据库用户名和密码,那么维护的成本将非常高。
Spring为我们提供了解决方案。我们可以新建一个配置文件db.properties,文件内容如下:
dataSource=com.mchange.v2.c3p0.ComboPooledDataSource
driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/entry_exit_mgt
user=root
password=Urie_308
然后修改Spring配置文件:
(1)添加读取properties文件的支持。
<!-- 读取properties文件 -->
<bean id="propertiesConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:db.properties"></property>
<!-- 也可以写成另一种形式,可以读取多个properties文件 -->
<!--
<property name="locations">
<list>
<value>classpath:db.properties</value>
</list>
</property>
-->
</bean>
(2) 修改数据库配置部分
<!-- 配置数据源,这里配置了连接数据库的各项参数 -->
<bean id="dataSource" class="${dataSource}">
<property name="driverClass" value="${driverClass}"></property>
<property name="jdbcUrl" value="${jdbcUrl}"></property>
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
<!-- 数据库连接池的一些属性也配置在这里,这里先不配置 -->
</bean>