ApplicationContext.xml
< bean name = "transactionManager" class ="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
< property name = "dataSource" ref = "dataSource" ></ property >
</ bean >
< bean id = "propertyConfigurer" class ="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
< property name = "locations" >
< list >
< value > /WEB-INF/classes/dbconfig.properties </ value >
</ list >
</ property >
</ bean >
< bean id = "dataSource" class = "com.alibaba.druid.pool.DruidDataSource" destroy-method = "close" >
< property name = "url" value = "${url}" />
< property name = "username" value = "${username}" />
< property name = "password" value = "${password}" />
< property name = "driverClassName" value = "${driverClassName}" />
< property name = "filters" value = "${filters}" />
< property name = "maxActive" value = "${maxActive}" />
< property name = "initialSize" value = "${initialSize}" />
< property name = "maxWait" value = "${maxWait}" />
< property name = "minIdle" value = "${minIdle}" />
< property name = "timeBetweenEvictionRunsMillis" value ="${timeBetweenEvictionRunsMillis}" />
< property name = "minEvictableIdleTimeMillis" value ="${minEvictableIdleTimeMillis}" />
< property name = "validationQuery" value = "${validationQuery}" />
< property name = "testWhileIdle" value = "${testWhileIdle}" />
< property name = "testOnBorrow" value = "${testOnBorrow}" />
< property name = "testOnReturn" value = "${testOnReturn}" />
< property name = "maxOpenPreparedStatements" value ="${maxOpenPreparedStatements}" />
< property name = "removeAbandoned" value = "${removeAbandoned}" />
< property name = "removeAbandonedTimeout" value ="${removeAbandonedTimeout}" />
< property name = "logAbandoned" value = "${logAbandoned}" />
</ bean >
dbconfig.properties
url: jdbc:mysql:// localhost :3306/ newm
driverClassName: com.mysql.jdbc.Driver
username: root
password: root
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 10
maxIdle: 15
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
maxOpenPreparedStatements: 20
removeAbandoned: true
removeAbandonedTimeout: 1800
logAbandoned: true