Spring配置常识
(1)数据源配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@192.168.0.153:1521:OANET"></property>
<property name="username"><value>gd_base</value></property>
<property name="password"><value>11</value></property>
<property name="maxActive"><value>80</value></property>
<property name="minIdle"><value>5</value></property>
<property name="initialSize"><value>10</value></property>
<property name="maxWait"><value>60000</value></property>
<property name="poolPreparedStatements"><value>true</value></property>
<property name="maxOpenPreparedStatements"><value>20</value></property>
<property name="validationQuery"><value>select 1 from dual</value></property>
<property name="testWhileIdle"><value>true</value></property>
<property name="testOnBorrow"><value>false</value></property>
<property name="testOnReturn"><value>false</value></property>
<property name="timeBetweenEvictionRunsMillis"><value>60000</value></property>
<property name="minEvictableIdleTimeMillis"><value>300000</value></property>
<property name="filters"><value>stat,wall</value></property>
<!-- 打开 removeAbandoned 功能 -->
<property name = "removeAbandoned" value = "true" />
<!-- 1800 秒,也就是 30 分钟 -->
<property name = "removeAbandonedTimeout" value ="1800" />
<!-- 关闭 abanded 连接时输出错误日志 -->
<property name = "logAbandoned" value = "true" />
</bean>
配置参数的解释:
| 配置参数 | 参数含义 |
| <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> |
destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用.(数据库连接关闭) |
| <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property> |
使用的JDBC驱动的完整有效的java 类名 |
| <property name="url" value="jdbc:oracle:thin:@192.168.0.153:1521:OANET"></property> |
传递给JDBC驱动的用于建立连接的URL oracle的jdbc连接方式:oci和thin |
| <property name="username"><value>gd_base</value></property> | 传递给JDBC驱动的用于建立连接的用户名 |
| <property name="password"><value>11</value></property> | 传递给JDBC驱动的用于建立连接的密码 |
| <property name="maxActive"><value>80</value></property> | 最大连接数量 |
| <property name="minIdle"><value>5</value></property> | 最小空闲连接数量 |
| <property name="initialSize"><value>10</value></property> | 初始化连接数量 |
| <property name="maxWait"><value>60000</value></property> | 超时等待时间以毫秒为单位 |
| <property name="poolPreparedStatements"><value>true</value></property> | 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。 |
| <property name="maxOpenPreparedStatements"><value>20</value></property> | statement池能够同时分配的打开的statements的最大数量, 如果设置为0表示不限制 |
| <property name="validationQuery"><value>select 1 from dual</value></property> |
用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。 |
| <property name="testWhileIdle"><value>true</value></property> | 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 |
| <property name="testOnBorrow"><value>false</value></property> | 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 |
| <property name="testOnReturn"><value>false</value></property> | 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 |
| <property name="timeBetweenEvictionRunsMillis"><value>60000</value></property> | 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位 |
| <property name="minEvictableIdleTimeMillis"><value>300000</value></property> | 连接在池中保持空闲而不被空闲连接回收器线程 |
| <property name="filters"><value>stat,wall</value></property> | 属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:监控统计用的filter:stat 日志用的filter:log4j 防御sql注入的filter:wall |
| <property name = "removeAbandoned" value = "true" /> | removeAbandoned: 是否自动回收超时连接 |
| <property name = "removeAbandonedTimeout" value ="1800" /> | removeAbandonedTimeout: 超时时间(以秒数为单位) |
| <property name = "logAbandoned" value = "true" /> | 连接被泄露时是否打印 |
(2)Spring为我们提供了SqlMapClientDaoSupportExtend支持类,所有DAO继承这个类,就会自动获得JdbcTemplate(前提是注入dataSource)
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
JdbcTemplate主要提供下列方法:
1、execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
2、update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
3、query方法及queryForXXX方法:用于执行查询相关语句;
4、call方法:用于执行存储过程、函数相关语句。
Spring配置常识的更多相关文章
- Spring配置c3p0数据源时出错报:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
今天在使用Spring配置c3p0数据源时,使用的数据库是mysql,服务器是tomcat,运行时报了一个 java.lang.NoClassDefFoundError: com/mchange/v2 ...
- Spring配置汇总
现在主流的JavaWeb应用几乎都会用到Spring,以下是Spring的配置,以及结合Web的SpringMVC配置的汇总. jar包的引入 与Web项目集成 Spring配置文件 SpringMV ...
- spring配置属性的两种方式
spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...
- 解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element
解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element 'beans'.Referenced file conta ...
- spring配置详解
1.前言 公司老项目的后台,均是基于spring框架搭建,其中还用到了log4j.jar等开源架包.在新项目中,则是spring和hibernate框架均有使用,利用了hibernate框架,来实现持 ...
- memcached 学习 1—— memcached+spring配置
memcached 学习目录: memcached 学习 1—— memcached+spring配置 这几天自己搭建项目环境,解决问题如下: 有关常见的配置这里没有列出,中间遇到的搭建问题比较顺利g ...
- 解决spring配置中的bean类型的问题:BeanNotOfRequiredTypeException
解决spring配置中的bean类型的问题:BeanNotOfRequiredTypeException这个问题出现的原因:一般在使用annotation的方式注入spring的bean 出现的,具体 ...
- spring配置中,properties文件以及xml文件配置问题
spring方便我们的项目快速搭建,功能强大,自然也会是体系复杂! 这里说下配置文件properties管理的问题. 一些不涉及到代码逻辑,仅仅只是配置数据,可以放在xxxx.properties文件 ...
- IntelliJ IDEA通过Spring配置连接MySQL数据库
先从菜单View→Tool Windows→Database打开数据库工具窗口,如下图所示: 点击Database工具窗口左上角添加按钮"+",选择Import from sour ...
随机推荐
- ABAP性能和优化
哪些工具可以用于性能优化? ST05-性能追踪.包含SQL追踪加RFC,队列和缓存追踪.SQL追踪主要用于测量程序中select语句的性能. SE30-运行时分析.用于测量应用的性能. SAT是过时的 ...
- 小程序布局中class='container'的bug
display:flex失效,并增加其他额外属性,暂时记录,还未查询是何原因导致,更改calss则无此问题.
- React学习笔记_01
使用Facebook的create-react-app快速构建React开发环境 前言: create-react-app:来自Facebook官方的零配置命令行工具 create-react-app ...
- JFreeChart柱状图单组柱子的不同颜色显示
JFreeChart柱状图中单组柱子用不同颜色来显示的实现方法是自定义一个Renderer来继承BarRenderer类,然后重载getItemPaint(int i,int j)方法. 实现效果如下 ...
- 理解OSI参考模型
在一个视频网站上不小心搜到网络知识的视频,突然以前大学的没有真正接受的知识点,一下子豁然开朗,赶紧整理了下笔记. 一.OSI参考模型 自下而上:物理层(物理介质,比特流).数据链路层(网卡.交换机). ...
- 【BZOJ4310】跳蚤
[BZOJ4310]跳蚤 Description 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究. 首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他 ...
- SpringMVC---applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- solidity-library
library 1)直接使用使用库合约的合约,可以将库合约视为隐式的父合约(base contracts),当然它们不会显式的出现在继承关系中.意思就是不用写is来继承,直接可以在合约中使用: lib ...
- mysql 创建表格 AUTO_INCREMENT
CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(30) NOT NULL, `U ...
- webpack4对第三方库css,项目全局css和vue内联css文件提取到单独的文件(二十二)
在讲解提取css之前,我们先看下项目的架构如下结构: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有 ...