有许多可用的DataSource实现类,例如org.apache.commons.dbcp2.BasicDataSource
,org.springframework.jdbc.datasource.DriverManagerDataSource
。如何确定(选择)我的 Spring-mvc + Hibernate 应用程序中使用哪一个?
答案 0 :(得分:1)
如果您通过Docs
DriverManagerDataSource:此类不是实际的连接池;它实际上并没有 连接。它只是作为成熟产品的简单替代品 连接池,实现相同的标准接口,但是 在每个呼叫上创建新的连接。
适用于测试或独立环境
另一方面,DBCP的BasicDataSource在J2EE容器之外提供“真实”连接池。 Commons DBCP的BasicDataSource和C3P0的ComboPooledDataSource是完整的连接池bean,支持与此类相同的基本属性以及特定的设置(例如最小/最大池大小等)。
因此,如果您正在开发测试应用程序,那么DriverManagerDataSource
没问题,但是对于生产就绪的应用程序,必须使用“真实”连接池,即C3p0的ComboPooledDataSource
或DBCP的BasicDataSource
。
参考: https://docs.spring.io/spring/docs/3.0.0.RC3/reference/html/ch12s03.html