第一點 要配置數據源 數據源包括: 數據源連接信息,數據源的類支持。
配置方式有兩種 :
1 直接在xml中配置:
<bean id="testDataSource1" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db1.jdbc.url}" />
<property name="username" value="${db.login.name}"></property>
<property name="password" value="${db.login.password}" />
<property name="filters" value="${db.filters}"></property>
<property name="maxActive" value="${db.pool.maxActive}"></property>
<property name="initialSize" value="${db.pool.initialSize}"></property>
<property name="minIdle" value="${db.pool.minIdle}"></property>
<property name="maxWait" value="${db.maxWait}"></property>
<property name="timeBetweenEvictionRunsMillis" value="${db.timeBetweenEvictionRunsMillis}"></property>
<property name="minEvictableIdleTimeMillis" value="${db.minEvictableIdleTimeMillis}"></property>
<property name="validationQuery" value="${db.validationQuery}"></property>
<property name="testWhileIdle" value="${db.testWhileIdle}"></property>
<property name="testOnBorrow" value="${db.testOnBorrow}"></property>
<property name="testOnReturn" value="${db.testOnReturn}"></property>
<property name="poolPreparedStatements" value="${db.poolPreparedStatements}"></property>
<property name="maxOpenPreparedStatements" value="${db.maxOpenPreparedStatements}"></property>
<!-- 监控数据库 -->
<property name="proxyFilters">
<list>
<ref bean="log-filter" />
</list>
</property>
</bean>
2、在類文件中實現datasource的支持類,并設置數據源鏈接信息。
package common.jdbc.datasource;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import play.Play;
import com.jolbox.bonecp.BoneCPDataSource;
public class BoneCPDataSourceFactoryBean implements FactoryBean<BoneCPDataSource>, InitializingBean{
private BoneCPDataSource boneCPDataSource;
public final static int DEFAULT_POOL_MAX_SIZE = 30;
public final static int DEFAULT_POOL_MIN_SIZE = 10;
@Override
public BoneCPDataSource getObject() throws Exception {
return boneCPDataSource;
}
@Override
public Class<?> getObjectType() {
return BoneCPDataSource.class;
}
@Override
public boolean isSingleton() {
return true;
}
@Override
public void afterPropertiesSet() throws Exception {
boneCPDataSource = new BoneCPDataSource();
boneCPDataSource.setJdbcUrl(Play.configuration.getProperty("db.url"));
boneCPDataSource.setUsername(Play.configuration.getProperty("db.user"));
boneCPDataSource.setPassword(Play.configuration.getProperty("db.pa