有许多数据源实现类可用,如org.apache.commons.dbcp2.BasicDataSource
、org.springframework.jdbc.datasource.DriverManagerDataSource
。我如何决定(选择(在我的Spring-mvc + Hibernate应用程序中使用哪一个?
如果您浏览文档
DriverManager数据源:此类不是实际的连接池;它实际上没有池 连接。它只是作为成熟设备的简单替代品 连接池,实现相同的标准接口,但 在每次呼叫上创建新的连接。
适用于测试或独立环境
另一方面,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