Spring配置数据源(连接池)
数据连接池在开发中经常用到,那么在spring中如何配置数据连接池呢?本文以Druid连接池进行配置
开发步骤
- 导入数据源的坐标和数据库驱动坐标
- 将数据源放入spring容器中
- 设置数据源基本参数
- 使用数据源:Druid
一:导入数据源和数据库驱动坐标
<!-- 数据源坐标-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<!-- 数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
二:将数据源放入spring容器中
- 引入context命名空间.
命名空间:xmlns:context="http://www.springframework.org/schema/context"
约束路径:http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
- 将数据源所需要的配置文件放入spring容器中
<context:property-placeholder location="classpath:druid.properties"/>
三:设置数据源基本参数
<!-- 配置Druid数据源-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
使用spring表达式,即${配置文件参数名}可以自动获取配置文件中对应的参数。
注:每一种数据源name值可能不一样,需要对应的set方法
四:使用数据源
@Test
public void testDataSource() throws SQLException {
// 通过xml配置,获得spring应用上下文对象
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
// 从spring容器中获得数据源对象
DataSource ds = app.getBean(DataSource.class);
System.out.println(ds.getConnection());
}
配置好数据源后就可以将其注入JDBC中了!
<!-- 1. 配置JdbcTemplate-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--set方法注入-->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 2. 配置QueryRunner-->
<bean id="queryRunner" class="org.apache.commons.dbutils.QueryRunner">
<!--构造方法注入-->
<constructor-arg name="ds" ref="dataSource"/>
</bean>