Maison > Article > base de données > MySpringdataSource从配置文件获取
大神就不看了,本篇是一个人笔记。 原来的数据库配置文件是写死的。 看代码:Mybatis的配置文件 bean id=dataSource class=org.apache.commons.dbcp.BasicDataSourceproperty name=driverClassNamevaluecom.mysql.jdbc.Driver/value/propertyproperty name=u
大神就不看了,本篇是一个人笔记。
原来的数据库配置文件是写死的。
看代码:Mybatis的配置文件
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/test</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>admin</value> </property> </bean> <!-- 指明操作数据库的配置文件位置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:../config/mybatis/MyBatis-Configuration.xml"></property> </bean> <!-- 使用事务处理 --> <bean id="tm" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean>这里的username,password都是写死的。现在想要一个专门的配置文件来配置数据库。
百度了一下,挺容易。
添加 数据源配置文件的路径,修改一下数据库的配置。
<!-- 数据源 --> <context:property-placeholder location="classpath:../config/project/project.properties" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://${database.ip}:${database.port}/myspring" /> <property name="username" value="${database.userName}"></property> <property name="password" value="${database.passWord}"></property> </bean> WEB-INF\config\project\project.properties文件:
database.ip =127.0.0.1 database.port =3306 database.userName =root database.passWord =admin改成driverClassName,url,username,password这种形式也可以。由于个人项目原因其他地方还要用到数据库端口配置,于是url就拼接了一下。
说明一下:
<context:property-placeholder location="classpath:../config/project/project.properties" />
这里的classpath: 路径指的是 WEB-INF/classes
还设计到一点。BasicDataSource DriverManagerDataSource的区别,这里就不献丑了。
spring的DriverManagerDataSource与apache的BasicDataSource(转)