Spring DriverManager数据源和SimpleDriverDataSource之间的区别

Spring DriverManager数据源和SimpleDriverDataSource之间的区别,spring,jdbc,datasource,spring-jdbc,Spring,Jdbc,Datasource,Spring Jdbc,在Spring中,使用DriverManager数据源和SimpleDriverDataSource创建新的数据源(给定其driverClassName、url、用户名和密码)有什么区别 例如,使用DriverManager数据源,您可以执行以下操作: DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName(driverClassName); dataSou

在Spring中,使用DriverManager数据源SimpleDriverDataSource创建新的数据源(给定其driverClassName、url、用户名和密码)有什么区别

例如,使用DriverManager数据源,您可以执行以下操作:

DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
使用SimpleDriverDataSource时,您可以执行以下操作:

SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
Class<? extends Driver> driver = (Class<? extends Driver>) Class.forName(driverClassName);
dataSource.setDriverClass(driver);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
SimpleDriverDataSource dataSource=新建SimpleDriverDataSource();

类从描述的角度来看,差异不大。主要区别是概念上的,并在OSGi环境中发挥作用-引用:

在特殊类加载环境中 例如OSGi,这个类实际上被 SimpleDriverDataSource由于 JDBC DriverManager可以通过直接使用驱动程序来解决 这正是SimpleDriverDataSource所做的)


DriverManager数据源-标准JDBC数据源接口的简单实现,通过bean属性配置普通的旧JDBC DriverManager,并从每个getConnection调用返回新连接

SimpleDriverDataSource与DriverManager数据源类似,只是它提供了直接的驱动程序使用,这有助于解决特殊类加载环境(如OSGi)中JDBC DriverManager的一般类加载问题