spring创建连接池的几种方式

简介:

spring使用连接池有很多种方式,jdbc(不使用连接池),c3p0,dbcp,jndi,下面将分别贴代码介绍这几种:

 1.jdbc方式

   使用的是DriverManagerDataSource,DriverManagerDataSource建立连接是只要有连接就新建一个connection,  根本没有连接池的作用

1
2
3
4
5
6
<bean id= "dataSource"  class = "org.springframework.jdbc.datasource.DriverManagerDataSource"
   <property name= "driverClassName" ><value>${jdbc.driverClassName}</value></property> 
   <property name= "url" ><value>${jdbc.url}</value></property> 
   <property name= "username" ><value>${jdbc.username}</value></property> 
   <property name= "password" ><value>${jdbc.password}</value></property> 
</bean>


2.C3P0连接池

   使用的是ComboPooledDataSource

1
2
3
4
5
6
7
<bean id= "dataSource"  class = "com.mchange.v2.c3p0.ComboPooledDataSource"       
         destroy-method= "close" >      
     <property name= "driverClass"  value= " oracle.jdbc.driver.OracleDriver " />      
     <property name= "jdbcUrl"  value= " jdbc:oracle:thin:@localhost:1521:ora9i " />      
     <property name= "user"  value= "admin" />      
     <property name= "password"  value= "1234" />      
</bean>

3.DBCP连接池

使用的是BasicDataSource

1
2
3
4
5
6
7
<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:@192.168.24.102:1521:sms"  />             
     <property name= "userna me"  value= "test" />             
     <property name= "password"  value= "test"  />             
   
</bean>

由于spring对C3P0,DBCP连接池有了很好的支持,所以只需要如上的配置,就配置好了相应数据源的连接池。


4.JNDI方式

  使用的是JndiObjectFactoryBean

1
2
3
<bean id= "dataSource"  class = "org.springframework.jndi.JndiObjectFactoryBean"
  <property name= "jndiName" ><value>java:comp/env/jdbc/roseindiaDB_local</value></property>
</bean>

这种使用JDNI的方式,同样需要服务器的支持,如在tomcat的context.xml加入相应的代码,具体的可以看前一篇文章的介绍





     本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1430423,如需转载请自行联系原作者






相关文章
|
7月前
|
监控 druid Java
Spring Boot 3 集成 Druid 连接池详解
在现代的Java应用中,使用一个高效可靠的数据源是至关重要的。Druid连接池作为一款强大的数据库连接池,提供了丰富的监控和管理功能,成为很多Java项目的首选。本文将详细介绍如何在Spring Boot 3项目中配置数据源,集成Druid连接池,以实现更高效的数据库连接管理。
3663 2
Spring Boot 3 集成 Druid 连接池详解
|
前端开发 JavaScript Java
【Spring Boot学习】一、使用Spring Initializer快速创建Spring Boot项目
【Spring Boot学习】一、使用Spring Initializer快速创建Spring Boot项目
816 1
【Spring Boot学习】一、使用Spring Initializer快速创建Spring Boot项目
|
13天前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
29 4
|
NoSQL Java Redis
Spring Boot使用Redis的Lettuce连接池,隔一段时间再连接就报连接超时
Spring Boot使用Redis的Lettuce连接池,隔一段时间再连接就报连接超时
1327 0
|
监控 druid NoSQL
【Spring】Durid 连接池安装及配置
【Spring】Durid 连接池安装及配置
416 0
|
资源调度 JavaScript Java
服务器支持访问静态文件的几种方式:Spring、Tomcat、Vue
服务器支持访问静态文件的几种方式:Spring、Tomcat、Vue
|
前端开发 Java API
Spring MVC【创建与使用】
Spring MVC【创建与使用】
Spring MVC【创建与使用】
|
存储 XML Java
Spring【Spring的创建与使用】
Spring【Spring的创建与使用】
Spring【Spring的创建与使用】
|
Java Spring
Spring 创建一个自定义注解
平时在用springBoot的使用,常常会用到@Service,@Compent等等注解,简化了我们的开发流程,提升了开发效率.那如何自己来写一个注解呢?下面就来介绍一下。
204 0
|
缓存 Java Spring
Spring循环依赖原理和Bean创建过程
Spring循环依赖原理和Bean创建过程