在Spring框架中获取连接池可以有哪些方式?
2015-03-02 11:11
204 查看
1:DBCP数据源
DBCP类包位于 <SPRING_HOME>/lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括<SPRING_HOME>/lib/jakarta-commons/commons-pool.jar。下面是使用DBCP配置oracle数据源的配置片断:
2:C3P0数据源
C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection 和Statement 池。C3P0类包位于<SPRING_HOME>/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一个Oracle数据源:
3. Spring的数据源实现类(DriverManagerDataSource)
Spring本身也提供了一个简单的数据源实现类DriverManagerDataSource ,它位于org.springframework.jdbc.datasource包中。这个类实现了javax.sql.DataSource接口,但它并没有提供池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。因此,这个数据源类比较适合在单元测试或简单的独立应用中使用,因为它不需要额外的依赖类。
4.获取JNDI数据源
如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。下面是一个简单的配置:
通过jndiName指定引用的JNDI数据源名称。
DBCP类包位于 <SPRING_HOME>/lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括<SPRING_HOME>/lib/jakarta-commons/commons-pool.jar。下面是使用DBCP配置oracle数据源的配置片断:
<bean id=”dataSource”class=”org.apache.commons.dbcp.BasicDataSource” destroy-method=”close”> <property name=”driverClassName”value=” oracle.jdbc.driver.OracleDriver ” /> <property name=”url” value=”jdbc:oracle:thin:@localhost:1521:orcl ” /> <property name=”username” value=”root” /> <property name=”password” value=”1234″ /> </bean>
2:C3P0数据源
C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection 和Statement 池。C3P0类包位于<SPRING_HOME>/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一个Oracle数据源:
<bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource” destroy-method=”close”> <property name=”driverClassName”value=” oracle.jdbc.driver.OracleDriver ” /> <property name=”url” value=”jdbc:oracle:thin:@localhost:1521:orcl ” /> <property name=”username” value=”root” /> <property name=”password” value=”1234″ /> </bean>
3. Spring的数据源实现类(DriverManagerDataSource)
Spring本身也提供了一个简单的数据源实现类DriverManagerDataSource ,它位于org.springframework.jdbc.datasource包中。这个类实现了javax.sql.DataSource接口,但它并没有提供池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。因此,这个数据源类比较适合在单元测试或简单的独立应用中使用,因为它不需要额外的依赖类。
<bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource” destroy-method=”close”> <property name=”driverClassName”value=” oracle.jdbc.driver.OracleDriver ” /> <property name=”url” value=”jdbc:oracle:thin:@localhost:1521:orcl ” /> <property name=”username” value=”root” /> <property name=”password” value=”1234″ /> </bean>
4.获取JNDI数据源
如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。下面是一个简单的配置:
<bean id=”dataSource”class=”org.springframework.jndi.JndiObjectFactoryBean”> <property name=”jndiName” value=”java:comp/env/jdbc/oracle”/> </bean>
通过jndiName指定引用的JNDI数据源名称。
相关文章推荐
- Spring框架中获取连接池的四种方式
- Spring框架中获取连接池的四种方式
- 在Spring框架中获取连接池方式
- Spring框架中获取连接池的四种方式
- 面试题:一个方法和类名相同,那这个是构造方法吗?哪些方式可以获取或设置成员变量的值?
- Spring框架下获取Bean的几种方式
- ADO.Net都有哪些从数据库获取数据的方式
- 在Spring框架下获取Bean的方式总结(转)
- Spring框架下获取Bean的几种方式
- Spring框架下获取Bean的几种方式
- 使用普通方式和连接池方式获取Oracle和Mysql链接
- spring框架下获取bean的方式总结(转)
- Yii2 提供可以用属性的方式去获取类的一个方法
- Ajax中如何使用Session变量,Cookies可以用表单验证的方式获取并使用。
- 反射获取实体类的get和set 组装成赋值方式 可以提高开发
- 通过哪些方式可以降低网站的跳出率
- ADO.Net都有哪些从数据库获取数据的方式
- ADO.Net都有哪些从数据库获取数据的方式
- ADO.Net都有哪些从数据库获取数据的方式
- 在Spring框架下获取Bean的方式总结