- 浏览: 108481 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
Inmethetiger:
yixiandave 写道能不能在Validation注解的m ...
Spring验证小结和问题 -
yixiandave:
Inmethetiger 写道yixiandave 写道如果用 ...
Spring验证小结和问题 -
Inmethetiger:
yixiandave 写道如果用JSR303的话,可以引入hi ...
Spring验证小结和问题 -
yixiandave:
如果用JSR303的话,可以引入hibernate-valid ...
Spring验证小结和问题 -
jackytang520:
貌似用了这么久,没有碰到过这个问题..
idea属性文件中文乱码
用spring默认的连接池性能效率不高, 如果数据库重启, 应用程序也要重启才能使用, 这样比较麻烦,
下面介绍三种流行的连接池配置:
DBCP连接池的配置:
<property name="driver"> <value>${db.driver}</value> </property> <property name="url"> <value>${db.url}</value> </property> <property name="username"> <value>${db.username}</value> </property> <property name="password"> <value>${db.password}</value> </property> </bean>
这样我们就有了一个不依赖任何服务器的数据库连接池
Spring易于测试是spring理念的核心,spring为我们定义了一个DriverManagerDataSource类,让我们更方便的对代码进行单元测试时使用dataSource
DriverManagerDataSouce dataSource=new DriverManagerDataSouce(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPAssword(password);
C3P0 配置较为复杂, 容易出错, 以下是在applicationContext.xml中的配置代码
<!-- C3P0 配置 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>${database.driverClassName} </value> </property> <property name="jdbcUrl"> <value>${database.connectionString} </value> </property> <property name="properties"> <props> <prop key="hibernate.hbm2ddl.auto">update </prop> <prop key="c3p0.minPoolSize">1 </prop> <prop key="hc3p0.maxPoolSize">10 </prop> <prop key="hc3p0.timeout">60 </prop> <prop key="c3p0.max_statement">50 </prop> <prop key="c3p0.testConnectionOnCheckout">true </prop> <prop key="testConnectionOnCheckin">true </prop> <prop key="c3p0.testConnectionOnCheckout">true </prop> <prop key="c3p0.testConnectionOnCheckin">true </prop> <prop key="preferredTestQuery">SELECT 1 </prop> <prop key="hibernate.c3p0.idle_test_period">60 </prop> <prop key="user">${database.username} </prop> <prop key="password">${database.password} </prop> </props> </property> </bean>
proxool 配置简单, 性能效率也较高, 最主要的是比较稳定.
<!-- proxool 配置 <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="driver"> <value>${database.driverClassName} </value> </property> <property name="driverUrl"> <value>${database.connectionString} </value> </property> <property name="user" value="${database.username}" /> <property name="password" value="${database.password}" /> <!-- 最大激活连接数 <property name="maximumConnectionCount" value="3"/> <!-- 默认激活的连接数 <property name="minimumConnectionCount" value="2"/> <!-- 默认保持的有效连接数 <property name="prototypeCount" value="2"/> <!-- 使用前进行测试, 防止数据库重启使用出现异常 <property name="testBeforeUse" value="true"/> <!-- 数据库测试语句 以下语句适用于SQL SERVER 如果MYSQL用: select CURRENT_DATE <property name="houseKeepingTestSql" value="select getdate()"/> <!-- 间隔15分钟检查所有连接是否需要关闭或创建 <property name="houseKeepingSleepTime" value="900000"/> <!-- 间隔10分钟检查所有连接是否需要关闭或创建 <property name="houseKeepingSleepTime" value="600000"/> <!-- 设置连接超时时间 15分钟 <property name="maximumActiveTime" value="900000"/> <!-- 设定每个连接最长的存在时间 (毫秒级) 默认4小时 <property name="maximumConnectionLifetime" value="14400000" /> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement" value="5"/> <!--连接池中保留的最小连接数。--> <property name="minPoolSize" value="5"/> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize" value="30"/> <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> <property name="initialPoolSize" value="10"/> <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="60"/> </bean> -->注意自己去下载Proxool的包导入到工程里面
以下是项目中的一个实际例子:
Applicationcontext.xml代码
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" > <property name="alias" value="QuancunPool"/> <property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <property name="driverUrl" value="jdbc:microsoft:sqlserver://192.168.0.1:1433;user=sa;password=123456;DatabaseName=news;SelectMethod=cursor"/> <property name="user" value="sa"/><!-- 必须设置,但proxool不使用,可能是BUG --> <property name="password" value="123456"/><!-- 必须设置,但proxool不使用,可能是BUG --> <property name="houseKeepingSleepTime" value="90000"/> <property name="prototypeCount" value="5"/> <property name="maximumConnectionCount" value="100"/> <property name="minimumConnectionCount" value="10"/> <property name="trace" value="true"/> <property name="verbose" value="true"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop> <prop key="hibernate.cache.use_query_cache">true</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> </props> </property> <property name="mappingResources"> <list> <value>com/test/bean/User.hbm.xml</value> </list> </property> </bean>
发表评论
-
Spring验证小结和问题
2014-07-27 16:36 4885因为从云笔记中粘贴过来的,代码格式就没有了。格式稍好点的地 ... -
在spring中使用Ehcache
2014-06-18 16:07 1041前提: 使用环境:详细页面 依赖包: ... -
Spring MVC 3.0版本和3.1版本的一点小区别
2013-06-12 00:57 2725先上代码: 主要是控制器: @Controller ... -
在Maven下的springJpa多模块开发引起的问题
2013-02-21 22:33 3113最近的项目搭建中,出现了一个问题。 ... -
spring 事务二:注解springmvc+注解or声明式事务
2012-11-23 08:42 2235前面讲了两大类,四种spring事务的方式。这篇主要记录基于注 ... -
spring 事务一:非注解springmvc+注解or声明式事务
2012-11-22 15:47 2495前两天一人问我,在使用spring mvc (基于注解) 的时 ... -
在spring中使用mybatis
2012-11-14 21:59 3631今天在使用mybatis的时候,发现dao的实现竟然可以不需要 ... -
@Controller中的@RequestMapping参数
2012-11-07 09:56 3815转载自:http://blog.sina.com.cn/s/b ... -
spring jdbc之query详细实例2
2012-09-27 16:45 1885首发地址: http://inmethetiger.iteye ... -
spring jdbc之query详细实例1
2012-09-27 16:15 3221首发:http://inmethetiger.iteye. ... -
spring jdbc之最简单的增删改查
2012-09-27 10:10 2073首发地址: http://inmethetiger.iteye ... -
spring的实例化方式
2012-09-26 17:48 1818首发地址: http://inmethetiger.iteye ... -
Spring Aop(一)
2012-09-26 16:06 766这是一个简单的spring aop的例子。 一:定义目 ... -
spring mvc表单标签和@ModelAttribute
2012-09-20 21:05 9115首发地址:http://inmethetiger.iteye ... -
spring相关资料的URL(持续更新)
2012-09-20 13:34 1200首发地址http://inmethetiger.iteye.c ... -
Spring mvc注解之实现MultiActionController功能
2012-09-16 16:38 1633首发地址http://inmethetiger.iteye.c ... -
spring mvc 之注解版基础
2012-09-14 17:28 920首发地址:http://inmethetiger.iteye ... -
spring mvc 之MultiActionController和MethodNameResolver--附带实例
2012-09-14 17:23 1980首发地址:http://inmethetiger.iteye. ... -
Spring MVC的开发流程--附带实例
2012-09-12 18:05 2568首发地址: http://inmethetiger.i ...
相关推荐
Tomcat连接池配置,包你学会tomcat连接池的使用
context.xml, 数据库连接池配置文
这个文档详细讲述了mysql数据库连接池的配置以及数据库连接池的工作原理。
Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置...
proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解
weblogic连接池配置说明, weblogic8.1连接池配置及简单优化
比较实用的几种数据库连接池详细配置,值得收藏
连接池配置文件
Tomcat6配置连接池很全面的东东
详细介绍tomcat连接池配置方法
hibernate 连接池配置详解,四种连接方式:第一种方案,Hibernate默认连接池;第二种方案是:C3P0;第三种方案是:dbcp;第四种方案是:Proxool (推荐)
Tomcat服务器配置及数据库连接池配置(个人整理版)。纯粹个人整理意见。
用数据源连接池配置/用数据源连接池配置/用数据源连接池配置/用数据源连接池配置/
项目实用的proxool连接池配置文件,每个标签都有注释,可以直接拿来使用
hibernate配置数据库连接池的三种方法,三种连接池的详细介绍
tomcat各版本连接池配置方法【tomcat5.0,tomcat5.5x,tomcat6.0】
Tongweb5中配置JDBC连接池的文档。Web应用通过JNDI获取Tongweb配置的JDBC数据源(连接池
tomcat、jboss 连接池配置,详细步骤,准确代码,让你实践中学会这两种服务器的连接池配置
jsp连接池配置器(自动配置连接池) 经常写连接池的代码,真麻烦,为了节约一点宝贵的时间,闲来无事,决定写个小软件,自动配置连接池! 该测试版可能有少许问题,请您选择修正版! whsvc
java连接池的配置 里面有C3P0连接池在tomcat中的详细配置 Java反射机制总结,tomcat下配置数据库连接池DBCP、C3P0、Proxool 总结spring下配置dbcp,c3p0,proxool数据源链接池