使用c3p0进行数据库连接

时间:2016-06-10 09:25:49

标签: java spring c3p0

目前在我的项目中,数据源连接所需的数据源,事务管理器和其他bean都是在xml文件中定义的,并且在属性文件中配置了值,从中进行连接。 例如:

<bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close" p:driverClass="${DRIVER_CLASS}" p:jdbcUrl="${DB_URL}"
    p:minPoolSize="${MIN_DB_POOL_SIZE}" p:maxPoolSize="${DB_POOL_SIZE}"
    p:maxStatements="${DB_POOL_SIZE}" p:idleConnectionTestPeriod="${IDLE_CONNECTION_TEST_PERIOD}"
    p:loginTeimeout="${LOGIN_TIMEOUT}" scope="singleton"></bean>

所有这些类似的值$ {DB_POOL_SIZE}都在属性文件中配置。 班级com.mchange.v2.c3p0.ComboPooledDataSource是最终班级,无法延期。所以我的要求是 :当spring创建Datasource的bean时,我应该能够通过setter方法从我的java文件中设置xml(DB_URL)中变量的值。 怎么做?

1 个答案:

答案 0 :(得分:0)

我不太了解您要做的事情,但如果您的问题是您希望使用某些自定义功能扩展AbstractComboPooledDataSource,请展开AbstractComboPooledDataSource。查看ComboPooledDataSource的来源。那里没有多少(一旦你超过了烦人的版权标题)。将其用作模板,然后根据需要扩展 <div id= "main"> <ul class="rslides"> <li><img src="1.jpg" alt=""></li> <li><img src="2.jpg" alt=""></li> <li><img src="3.jpg" alt=""></li> </ul> </div> //other code <script>//code//</script>